2013-09-27 17 views
10

私は作成しているVB.NETプログラムからバッチファイルを作成しました。私のバッチファイルはループし続けますが、なぜですか?

Windows XPでファイルをダブルクリックすると、コマンドプロンプトが表示され、何度も繰り返し実行されているようです。私は私が間違ってやったunderstanことはできませんが、私は、コマンドプロンプトを開いて、そこから実行した場合、それが一度に実行

REG ADD "HKCU\Software\Classes\*\shell\Open Folder In Rename" /ve /t REG_SZ /d "Open With Rename" /f 
REG ADD "HKCU\Software\Classes\*\shell\Open Folder In Rename\Command" /ve /t REG_SZ /d "P:\Misc\Rename v2.0\Rename v2.0\bin\Debug\Rename v2.0.exe ""%1""" /f 
EXIT 

を次のように

私のバッチファイルです。

ご協力いただければ幸いです!

おかげ

+0

あなたは何かの出力を見ますか? –

+0

はい、Ctrl + Cを押すまで次のことが繰り返されます。 P:\ Misc \ Rename v2.0 \ Rename v2.0 \ bin \ Debug> REG追加 "HKCU \ Software \ Classes \ * \ shell \名前の変更 "/ ve/t REG_SZ/d"名前を付けて開く "/ f レジストリキーを追加しない –

+0

' EXIT'コマンドを削除します。結果を再度確認してください。 –

答えて

2

私はTEST.BATにバッチファイルの名前を変更し、これは明らかに問題を修正しました。

ありがとうございました!

+1

バッチの名前を変更する必要はありませんが、REG.EXEをバッチで 'REG.'に置き換えることもできます。 –

+2

私はレジストリで何かしていないが、これも私のために働いた???オバマに感謝します – paIncrease

+0

回答を受け入れてください。 – San

21

Windowsでは、batファイル名と同じ名前のコマンドライン実行可能ファイルがあり、バッチファイルにこのコマンドが含まれている場合、バッチファイルはループし続けます。

例:

  • デスクトップ上のファイルnet.batを作成します。あなたのファイルで
  • このテキストを書き込む:net

ファイルをダブルクリックして、それがループし続けます。

この動作の原因は、コマンドの実行順序です。実行するコマンドは、パス内のいずれかのフォルダにあります。しかし、バッチファイルは現在のフォルダにありますので、最初に実行され、ループが発生します。

+1

Windows 7では、これは当てはまりません。 Windows 10で同じスクリプトを使用して、私はループの問題があった。これはWindows 10の機能です。 –

+0

Windows 7とWindows 8でこれを試してみましたが、ループの問題があります。 –

0

を確認してください。

  1. スクリプトは、スクリプトは、スクリプトの呼び出しがコマンドでビルドやプログラムの開発のような名前が付けられていないことを確認し、コマンドでのビルドやプログラムの開発

  2. のような名前が付いていません

あなたのスクリプトが呼び出された場合:shutdown -t 10 -rを呼び出すが、同じフォルダ内のshutdown.cmdを呼び出すreeeeeboooot.bat

reeeeeboooot.batはbuild-inコマンドの代わりにshutdown.cmdを実際に呼び出します。

時には最も簡単なものが最も難しいです。 (かなり頻繁に実際に:-D)

関連する問題