Omu*_*Omu 16 windows batch-file batch windows-command-prompt
我有一个批处理文件,可以像这样调用其他批处理文件:
e:\foo\master.bat 有内容:
call e:\bar\run1.bat
Run Code Online (Sandbox Code Playgroud)
并e:\bar\run1.bat有内容
app1.exe
Run Code Online (Sandbox Code Playgroud)
问题是当我运行master.bat app1.exe时不会被执行,因为它会期望它在e:\foo目录中而不是在e:\bar目录中
小智 17
您有点不清楚 app1.exe 所在的位置。
如果它与 run1.bat 共享文件夹,请更改 run1.bat
要么
@Echo off
Pushd "%~dp0"
app1.exe
popd
Run Code Online (Sandbox Code Playgroud)
或者
@Echo off
"%~dp0app1.exe"
Run Code Online (Sandbox Code Playgroud)
%0指的是当前正在运行的批处理,修饰符~dp返回驱动器和路径(带有尾部反斜杠。)