簡體   English   中英

如何批量獲取另一個驅動器的當前工作目錄?

[英]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.

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