[英]How to set the working directory of a command in a Windows batch file?
假設我有這些命令:
Prog1.exe
D:\SomeDir\Prog2.exe
Prog3.exe
現在,對於第二行說,我希望工作目錄為D:\\ SomeDir,但在Prog1.exe和Prog3.exe中,我想要默認的工作目錄(通常,我的.bat文件所在的位置)。 如果我試試這個
Prog1.exe
cd D:\SomeDir
D:\SomeDir\Prog2.exe
Prog3.exe
顯然Prog3將在SomeDir中執行,這不是我想要的。
你可以使用pushd / popd命令(幫助pushd /?
)
Prog1.exe
Pushd D:\SomeDir
Prog2.exe
popd
Prog3.exe
您可以使用cd命令( cd /?
幫助)和%~dp0
,批處理文件路徑,變量。
Prog1.exe
cd D:\SomeDir
Prog2.exe
cd %~dp0
Prog3.exe
有關%~
修飾符的完整列表,請參閱call /?
或者for /?
救命。
但是,我只是添加了這個,以便在Stack Overflow上提供更完整的答案。 我建議使用上面的jeb解決方案。
對我有用的是添加/d
:
cd /d C:\nginx
ECHO Stopping nginx...
start nginx -s quit
(當我沒有/d
,它不起作用。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.