2011-02-28 56 views
71

我需要一些幫助來編寫批處理文件。 我有存儲在一個變量根目錄的路徑如下:如何使用批處理文件更改當前工作目錄

set root=D:\Work\Root 

然後我改變我的工作目錄到這根如下:

cd %root% 

當我從任何地方在執行這個批處理文件D驅動器已成功完成。但是當我從其他驅動器執行相同的批處理文件時,cd%root%不起作用。

有沒有辦法讓我可以從根變量的驅動器號?然後,我可以將當​​前目錄更改爲此驅動器,然後cd%root%將可以工作。

回答

109

指定/D也可以更改驅動器。

CD /D %root% 
+0

其他回答說'\ D'(小寫)有任何區別嗎?該選項是否區分大小寫? – josch 2017-02-28 12:41:24

+2

@josch:是的,如果我們在談論CMD的內部命令,那麼像命令本身一樣('CD' ='/'),像上面的'/ D'這樣的開關參數不區分大小寫('/ D' ='/ d') 'cd')。我相信對於所有外部Windows命令行實用程序(例如'FINDSTR','SORT'等)也是如此。另一方面,第三方工具可以使用區分大小寫的參數。 – 2017-02-28 13:36:12

33

只需使用cd /d %root%即可切換驅動程序字母並更改目錄。

或者,使用pushd %root%可以在更改目錄時切換驅動器號並將先前的目錄存儲在堆棧中,因此您可以使用popd切換回去。

請注意,pushd也將允許您將目錄更改爲網絡共享。它實際上會爲您映射網絡驅動器,然後在您爲該目錄執行popd時取消映射。

13

試試這個

chdir /d D:\Work\Root 

享受生根;)

+4

生根?這在這種情況下甚至意味着什麼? – 2015-04-20 16:41:11

+3

@MathiasLykkegaardLorenzen回到根目錄,作爲提問的一個參考,似乎已經逃過了你 – 2015-05-05 11:33:39

+0

需要注意的是,在目錄之前和之後,「應該像這樣放置; chdir/d」D:\ Work \ Root 「 – 2017-03-16 14:06:53

相關問題