2014-12-29 25 views
1

想想看,我有這樣的結構:循環使用批處理文件目錄和粘貼文件夾

E: 
-- /Company/ 
----/- Migrations -/ 
------/- All environments/ 
--------/A/ 
--------/B/ 
--------/C/ 
--------/D/ 

而且我希望到一個文件夾複製例如(E:\企業\文件夾中)到裏面的所有文件夾「 - 所有的環境「到文件夾A,B,C和D中。然而,我被困在循環的文件夾,還沒有得到我可以複製文件夾的地步。

這是我當前的代碼

FOR /D %i in ("E:\Company\- Migrations -\- All environments\*") DO ECHO %i 

我期待呼應文件夾的名稱,但沒有什麼是走出來的,我在做什麼錯?

回答

1

像往常一樣尋找2小時後沒有找到答案,我發現它正確後提出這個問題。

正確的語法是

FOR /D %%i in ("E:\Company\- Migrations -\- All environments\*") DO ECHO %%i 
+0

爲什麼雙重%? –

+2

@ V-SHY:從提示符開始,使用單個'%'。在批處理文件中,需要雙'%'。 – Magoo

+0

謝謝,學習新東西。請參閱http://support.microsoft.com/kb/75634,「如果兩個百分號之間沒有字符,則百分號會被刪除,另一個將保留。這就是爲什麼一個與命令相符的FOR命令與.COM擴展每個文件將是 FOR%V IN(* .COM)的DO ECHO%V \t \t \t \t 但如果相同的命令被放置在一個批處理文件,需要以下內容: FOR% %V IN(* .COM)DO ECHO %% V「 –