.batスクリプトをステップ実行する方法はありますか?事は、私は他の多くのスクリプトを呼び出すビルドスクリプトを持っています、そして私はそれらが呼び出される順序が何であるかを見たいと思います。
とにかく、.batファイルの実行をステップ実行する方法を知りませんが、echo
およびpause
を使用してデバッグを支援できます。
ECHO
バッチファイルにメッセージをエコーします。 ECHO Hello Worldなどを実行すると、画面にHello Worldが出力されます。ただし、バッチファイルの先頭に@ECHO OFFがないと、「ECHO Hello World」と「Hello World」も取得されます。最後に、空白行を作成するだけの場合は、ECHOと入力します。最後にピリオドを追加すると、空の行が作成されます。一時停止
続行するには、任意のキーを押すようユーザーに促します。
ソース: バッチファイルヘルプ
@ workmad3:echo
コマンドを操作するための回答には、より良いヒントがあります。
別の役立つリソース... DDB:DOS Batch File Tips
スクリプトに「エコーオフ」ステートメントがないことを確認し、各スクリプトを呼び出した後に「エコーオン」を呼び出して、見逃したものをリセットします。
理由は、エコーがオンのままの場合、コマンドインタープリターは各コマンドを(パラメーター処理後に)出力してから実行するためです。実稼働環境での使用には非常に悪く見えますが、出力がどこで間違っているかを見ることができるため、デバッグの目的には非常に役立ちます。
また、呼び出されたバッチスクリプトとプログラムによって設定されたErrorLevelsを確認していることを確認してください。このために.batファイルで使用される2つの異なる方法があることに注意してください。プログラムを呼び出した場合、エラーレベルは%ERRORLEVEL%になりますが、バッチファイルからはエラーレベルがErrorLevel変数に返され、その周りに%が必要ありません。
同様の懸念に直面して、私はささいなGoogle検索で次のツールを見つけました:
JPSoftの「 Take Command 」には、IDE /デバッガーのバッチファイルが含まれています。 短いプレゼンテーションビデオ は、それをうまく示しています。
数時間前から試用版を使用しています。これが私の最初の謙虚な意見です。
試してみてください。
私が探していたものを正確に実行する「実行ステップ」(win32)ソフトウェアを見つけました: http://www.steppingsoftware.com/
出力および環境変数を見ながら、batファイルをロードし、ブレークポイントを配置したり、ステップ実行を開始したりできます。
評価版では、50行しかステップスルーできません。同様の機能を持つ無料の代替品はありますか?
@ECHO OFFを削除し、すべての出力をログファイルにリダイレクトするバッチファイルを呼び出します。
c:> yourbatch.bat(オプションのパラメーター)> yourlogfile.txt2>&1
http://www.robvanderwoude.com/battech_debugging.php にあります
できます!! 2>&1を忘れないでください...
ウィズ
考えられる唯一の方法は、echo
sとpause
sを使用してコードをスピンすることです。
結果をファイルに転送しようとしましたか? whatever.bat> log.txtのように
この場合、呼び出された他のすべてのスクリプトも>> log.txtなどのファイルにログを記録していることを確認する必要があります
また、バッチファイルの最初と最後に日付/ Tと時間/ Tを入力すると、その時点での時間を取得し、スクリプトの実行時間と順序をマッピングできます。
または....メインの.batファイルを別の.batファイルから呼び出し、結果を結果ファイルに出力します。
runner.bat> mainresults.txt
Runner.batがメインの.batファイルを呼び出す場所
これで、メインの.batファイルで実行されたすべてのアクションが表示されます。