簡體   English   中英

如何在Windows批處理文件中設置命令的工作目錄?

[英]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 ,它不起作用。)

https://stackoverflow.com/a/18310141/470749嘗試解釋它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM