コマンドライン-別のバッチファイルを呼び出すバッチファイル


13

PATHディレクトリにある別のバッチファイルを呼び出すバッチファイルがあります(基本的に、追加のスイッチで実行可能ファイルを呼び出します)。

: bar.bat:
foo.bat file1.txt
foo.bat file2.txt
etc.

foo.bat内:

foo.exe -t -s %1

bar.batは最初のコマンドを実行しますが、すぐに終了します(つまり、file1.txtでのみ作業します)。

このバッチファイルを作成して他のバッチファイルを複数回呼び出すにはどうすればよいですか?

回答:


14

CALLキーワードを使用します。

call foo.bat file1.txt
call foo.bat file2.txt

1
<Da​​ncan Smartの回答からコピー、まとめておくために> @splattneの回答に加えて、早く戻る必要がある場合は、CALLedバッチファイルでexit / bを使用します。
ブラッドブルース

1
goto :eof早めに戻るためにも使用できます。exit /b通常、戻りコードが必要な場合にのみ必要です。
ジョーイ

私は仕事にこれを取得するために苦労していますなぜ私は、私は両方を試してみましたしていないexit /bgoto: eof。CALLedバットの出力を追加しても大丈夫ですか?call foo.bat > myfile
SSH


2

別のオプション(バージョン3.3より前のDOSとの互換性のため:-))は、子(/ c)オプションと処理する他のバッチファイルの名前でコマンドプロセスを呼び出すことです。また、チェーンの代わりに呼び出しを行い、本当に古代のマシンでも動作します(誰かがこれに遭遇して気になった場合に備えて)。:-)


0

@エコーオフ

echo WbLegalReport.cmd

私:

cd I:\ CFS \ Batch \ jarDir

エコー%CD%

WbLegalReport.cmd

エコー%CD%

echo WatchResrAddDeleted.cmd

エコー%CD%

WatchRestrAddDeleted.cmd

エコー%CD%

ここでやろうとしているのは、これら2つのバッチファイルを順番に呼び出すことです。

そうすることができません。

助けてください。

コントロールはメインスクリプトに戻らないため、実際には子スクリプトで失敗しています


0

Sanket、バッチファイルを直接呼び出さないでください。「CALL」コマンドを使用します。splattneの例を参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.