[英]How to get current working directory of another drive in Batch?
有沒有辦法獲取當前驅動器以外的驅動器的當前工作目錄?
Windows存儲每個驅動器的當前目錄, %cd%
獲取實際驅動器的當前工作目錄。
如果以批處理腳本更改驅動器,則可以獲取實際驅動器的當前工作目錄:
cd w:\Downloads
cd c:\Windows
c:
(echo %cd%)
w:
(echo %cd%)
有沒有一種方法可以在不更改實際驅動器的情況下獲取當前工作目錄?
搜索答案后,我在https://blogs.msdn.microsoft.com/oldnewthing/20100506-00/?p=14133下找到了一些有關奇怪變量的提示
將%=c:%)
用於驅動器c的當前目錄,或將%=w:%)
用於w
或在批處理腳本中:
cd c:\Windows
cd w:\Downloads
(echo %=c:%)
(echo %=w:%)
更新
正如@RossRidge指出的,不是Windows存儲這些奇怪的變量,而是DOS命令處理器。 這些奇怪的變量僅在當前的“會話”中已知。 cd
同樣適用(請參閱@Stephan的評論)
打開兩個DOS命令處理器:
在第一個DOS命令處理器中:
cd c:\Windows
cd w:\Downloads
(echo %=c:%)
-> c:\Windows
(echo %=w:%)
-> w:\Downloads
cd w:
-> w:\Downloads
在第二個DOS命令處理器中:
(echo %=w:%)
-> %=w:% <- this variable is not set, not known
cd w:
-> w:\
注意保存“當前目錄”的方式不一致: cd
在進入DOS命令處理器后返回根目錄。 但是%=w:%
直到目錄更改才設置!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.