在同一个文件夹中,我有一个 .bat
文件和一个 .exe
文件。
除非我提供完整的绝对路径,否则无法从 .bat
文件中调用 .exe
文件。
有没有办法不指定路径呢?
在同一个文件夹中,我有一个 .bat
文件和一个 .exe
文件。
除非我提供完整的绝对路径,否则无法从 .bat
文件中调用 .exe
文件。
有没有办法不指定路径呢?
%~dp0
调用.exe
,像这样:%~dp0MyProgram.exe
。
%0
包含被调用的 .bat
文件的完整路径。
~dp
表示获取驱动器和路径,包括尾随的 \
。cd "%~dp0"
,然后你可以直接调用MyProgram.exe。 - Thomas Mulderpushd %~dp0
之前添加 set workpath=%cd%
,以保留对工作路径的引用,如果需要,可以将其传递给 .exe 文件,例如 ProgramInSameFolderAsBat.exe -workingpath "%workpath%" %*
。 - Dimitar Atanasovstart "%~dp0" "myfile.exe"
或者带参数的命令:
start "%~dp0" "myfile.exe" -my_arguments
a.cmd
或.\\a.cmd
,因为当前 shell 的工作目录不是批处理文件所在的目录。 - Константин Ван