同じフォルダーに.batと.exeファイルがあります。完全な絶対パスを指定しない限り、.exeから.batファイルを呼び出すことができませんでした。パスを指定しない方法はありますか?
.bat
.exe
.exeのように、%~dp0で%~dp0MyProgram.exeを呼び出してみてください。
%~dp0
%~dp0MyProgram.exe
%0には、呼び出された.batファイルへの絶対パスが含まれます。
%0
~dpは、末尾の\を含むドライブとパスを取得するように指示します。
~dp
\
スクリプトの開始時に pushd を使用して作業ディレクトリを変更し、スクリプトの最後に popd を使用して復元することでこれを解決しました。この方法では、作業ディレクトリがbatファイルの場所と同じであると常に仮定できます。
pushd %~dp0 ProgramInSameFolderAsBat.exe popd