2017-02-23 11 views
0

私は別のバッチファイルを実行したいが、その時に問題がある。最初のバッチは2番目のバッチを実行し、両方とも異なるフォルダにあります。別のバッチファイルから別のプロセスでバッチファイルを実行するにはどうすればよいですか?

しかし、問題は、第二のバッチが実行されると、A. に私は確信していない第二のバッチは、フォルダBにする必要がありますので、それは間違っている最初のフォルダ、にあったように見えるということです問題は、最初のバッチがすべてを実行するバッチであるため、最初のバッチプロセスの一部であるかのようにすべてが実行されるということです。

どうすればこの問題を解決できますか?

CHECK OUTPUT:enter image description here

これは私のコードです:

-> batch in folder A: start "" C:\Users\MyUser\Desktop\FOLDER-B\HERE.bat & 

-> batch in folder B: echo WHY AM I STILL IN FOLDER-A ? && pause 
+2

どちらのプログラムにも変更ディレクトリの種類を指定していません。それは親プロセスがそれを設定したものなので、作業ディレクトリはフォルダAになります。親プロセスから環境全体を継承しています。 STARTコマンドのヘルプを読むことができます。私はあなたが使いたいスイッチがあると確信しています。 – Squashman

答えて

1

フォルダ-Aからバッチを開始しましたので。実行可能ファイルがどこにあるかは関係ありません。パス内の他の実行可能ファイルであってもかまいません。あなたは(その実行ファイルが存在する場所)の開始ディレクトリと実行可能ファイルを(この場合はバッチファイル)startしたい場合は、

pushd .....folder-B 
start "" here.bat ... 
popd 

必要なディレクトリをpushd変化するので、指定する必要はその後ありません完全なファイルパス。 popdは元のディレクトリに戻ります。

+1

これをあなたの答えに加えることもできます。 "START" "/ D"フォルダへのC:\パスhere.bat' – Squashman

+0

@Squashman:ええ、私はそれを考えなかった... – Magoo

+0

ありがとうMagoo。これはうまくいった。だからこれはフォルダBに行き、 "here.bat"をダブルクリックするようなものでしょうか?か否か? – suffuko

関連する問題