我在同一个文件夹中有一个.bat和一个.exe文件。我不能从.bat调用.exe文件,除非我把完整的绝对路径给它。有没有办法不指定路径?
.bat
.exe
bweufnob1#
尝试使用%~dp0调用.exe,如下所示:%~dp0MyProgram.exe.%0包含调用的.bat文件的完整路径。~dp表示获取驱动器和路径,包括尾随的\。
%~dp0
%~dp0MyProgram.exe
%0
~dp
\
hs1ihplo2#
我通过在脚本开始时使用pushd更改工作目录,并在脚本结束时使用popd进行恢复来解决这个问题,这样您就可以始终假设工作目录与bat文件的位置相同。
pushd %~dp0 ProgramInSameFolderAsBat.exe popd
11dmarpk3#
正如Stephen C所说,为了用空间正确地支持路径,我们可以用途:第一个月或使用参数:start "%~dp0" "myfile.exe" -my_arguments
start "%~dp0" "myfile.exe" -my_arguments
3条答案
按热度按时间bweufnob1#
尝试使用
%~dp0
调用.exe
,如下所示:%~dp0MyProgram.exe
.%0
包含调用的.bat
文件的完整路径。~dp
表示获取驱动器和路径,包括尾随的\
。hs1ihplo2#
我通过在脚本开始时使用pushd更改工作目录,并在脚本结束时使用popd进行恢复来解决这个问题,这样您就可以始终假设工作目录与bat文件的位置相同。
11dmarpk3#
正如Stephen C所说,为了用空间正确地支持路径,我们可以用途:
第一个月
或使用参数:
start "%~dp0" "myfile.exe" -my_arguments