У меня в одной папке есть файл .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