D:\Desktop\Test0
フォルダがあちこちに移動するため、D:\Desktop\Test0\Test1\batch1.bat
にD:\Desktop\Test0\Test2\app.exe
を実行して、特定のパスを特定せずに実行します。現在のフォルダのすぐ横にあるバッチ変数
この変数は何ですか?残念ながら私はそれがわかりません。なぜなら、私はこの意図の正式な名前がわからないからです。
D:\Desktop\Test0
フォルダがあちこちに移動するため、D:\Desktop\Test0\Test1\batch1.bat
にD:\Desktop\Test0\Test2\app.exe
を実行して、特定のパスを特定せずに実行します。現在のフォルダのすぐ横にあるバッチ変数
この変数は何ですか?残念ながら私はそれがわかりません。なぜなら、私はこの意図の正式な名前がわからないからです。
バッチファイルは、それ自体を参照することができます。 this pageによれば、~f
のような~
修飾子を追加して完全なパスを取得し、純粋なファイル名を取得する場合は~nx
、親ディレクトリのパスを取得する場合は~dp
を返して、返された文字列を変更できます。あなたの状況では
、あなたは、単に直接の親ディレクトリTest1
を除外する..
を1つ上のレベルに取得し、その後、そのコンテナディレクトリを取得するために、バッチファイルbatch1.bat
で%~dp0
を使用し、プログラムに残りの相対パスを追加する必要がありapp.exe
このように:
"%~dp0..\Test2\app.exe"
Microsoft.com - Using batch parameters
あなたはこれらのバッチファイルプロセッサを使用する場合は、あなたが気にパスの部分を引き出し、APP.EXEする新しいパスを作成することができるはずです。変数を引用符で囲むことを忘れないでください。そうしないと、ファイル名にスペースやその他の特殊文字を扱わないでしょう。ここで
は、同様の質問の例です:%0
を使用した場合Batch Extract path and filename from a variable