で複数のバッチファイルを実行します。、私は次のような構造を持つサブフォルダ
E:
parent
subfolder1 contains mybatch.bat
subfolder2 contains mybatch.bat
....
subfoldern contains mybatch.bat
フォルダの数は動的であり、名前が不明で、毎日のフォルダ名は、現在の日付のタイムスタンプが含まれています。
は、私は、各サブフォルダ内からすべての「mybatch.batの」を実行したいのは、mybatch.batのはこれだけ
mkdir temp
が含まれていましょう。各サブフォルダに移動してmybatch.batを手動で実行すると、すべて正常に動作し、 "temp"という名前のフォルダがサブフォルダに作成されます。
私が望むのは、各フォルダ内のすべてのmybatch.batを実行するバッチファイルです。そのため、各サブフォルダに「temp」フォルダが作成されます。私はこの問題は、私は薄い実行すると、一時フォルダが親フォルダ内に作成され、何もサブフォルダ内に作成されていないということである。この
cd E:\parent
for /f %%f in ('dir /ad /b') do start %~dp0%%f\mybatch.bat
を試してみました。 私は助けにコードが正しくコメントに収まらないので、私が唯一の解決策としてこれを掲示しています
おかげ
親切なパスを使ってください! 'dir/ad/b'は現在の作業ディレクトリで(パスが指定されていないので)検索しますが、このバッチファイルの親ディレクトリである'%〜dp0'を使用しています。これらのtweoの場所が同じであれば、すべてが問題ありませんが、違いが出ると奇妙な問題に遭遇します。実際にすべてを実行しない限り、 'start'の代わりに' call'を使うことを考えてください。バッチファイルを同時に... – aschipfl