web-dev-qa-db-ja.com

1つのマスターバッチファイルで複数のバッチファイルを実行する方法

3つの異なるディレクトリに、実行したい3つのbatファイルがあります。

ディレクトリ/bat1/bat1.bat

ディレクトリ/bat2/bat2.bat

ディレクトリ/bat3/bat3.bat

1つのマスター.batを使用して、ディレクトリ内の他のすべてのバットを起動したいと思います。ディレクトリ内の異なるバットごとに依存関係があるためエラーが発生するため、コールを使用できません。スタートを使用してみましたが、それも機能しません。フォルダを使用してコマンドプロンプトを表示するだけです。

これは少し混乱するように聞こえますが、私がやりたいことは、1つの.batファイルを使用して、独自のディレクトリで互いに独立した複数の.batファイルを実行することです。

10
JCTechie

解決策を見つけました!私はこのコードを使用して、バットで3つの異なるバットファイルを個別に開くようにしました。

cd "\directory\bat1\"
start bat1.bat
cd "\directory\bat2\"
start bat2.bat
cd "\directory\bat3\"
start bat3.bat
9
JCTechie

startを使用すると、他のbatファイルは各バットの新しいプロセスを作成し、それらをすべて同時に実行します。

cd "\directory\bat1\"
start bat1.bat
cd "\directory\bat2\"
start bat2.bat
cd "\directory\bat3\"
start bat3.bat

しかし、最後のものが終わった後で次のものを実行したいなら、あなたはcallを使うことができます

cd "\directory\bat1\"
call bat1.bat
cd "\directory\bat2\"
call bat2.bat
cd "\directory\bat3\"
call bat3.bat

cdの最初の\を忘れないでください。そうしないと、ディレクトリが現在の作業ディレクトリのサブディレクトリに変更されます。

15
Krul

だから私はこの問題に苦労し、これらの解決策や他の解決策はどれもうまくいきませんでした。 「マスター」バッチファイルで実行したいことは、サブフォルダーにアクセスし、それらのフォルダーでバッチファイルを順番に実行することでした。これが最終的に私がやったことです

cd Folder1
call batch_cmd.bat
cd ..
cd Folder2
call batch_cmd.bat
cd ..

などなど.

これらのコマンドとバッチファイルを生成するためにjavascript/nodejsを使用していたので、この形式はうまく機能しました。

バッチファイルで完全に何かを実行したい場合は、代わりにpowershellスクリプトを調べることをお勧めします。

1
tehduder9

私にとって-それは働いた

ECHOバッチファイルを実行しています。
::以下は二重引用符なしのパスですが、「\」で終わります。
cd path-to-the-file1
::以下は二重引用符なしのバッチファイル名です。
call batch-filename1

::以下は二重引用符なしのパスですが、「\」で終わります。
ファイルへのcdパス2
::以下は二重引用符なしのバッチファイル名です。
call batch-filename2

0
Varinder Sandhu