如何执行windows批处理文件所在目录下的程序?

zaq34kh6  于 2022-12-19  发布在  Windows
关注(0)|答案(3)|浏览(293)

我在同一个文件夹中有一个.bat和一个.exe文件。我不能从.bat调用.exe文件,除非我把完整的绝对路径给它。有没有办法不指定路径?

bweufnob

bweufnob1#

尝试使用%~dp0调用.exe,如下所示:%~dp0MyProgram.exe.
%0包含调用的.bat文件的完整路径。
~dp表示获取驱动器和路径,包括尾随的\

hs1ihplo

hs1ihplo2#

我通过在脚本开始时使用pushd更改工作目录,并在脚本结束时使用popd进行恢复来解决这个问题,这样您就可以始终假设工作目录与bat文件的位置相同。

pushd %~dp0
ProgramInSameFolderAsBat.exe
popd
11dmarpk

11dmarpk3#

正如Stephen C所说,为了用空间正确地支持路径,我们可以用途:
第一个月
或使用参数:
start "%~dp0" "myfile.exe" -my_arguments

相关问题