2013-10-14 49 views
2

我想複製文件並將該文件粘貼到多個文件夾。複製文件並粘貼到多個文件夾

指定路徑:c:\exam\*\mark,*是主題。我有很多不同主題的文件夾。 我使用一個批處理文件一樣,

for /d %%a in ("c:\exam\*\mark") do copy "C:\name\add.txt" "%%a" 

但是這不是爲我工作,請給一個建議糾正這種代碼。

回答

7

一個循環就足夠了:

for /d %%a in (c:\exam\*) do if exist "%%~a\mark\" copy "C:\name\add.txt" "%%~a\mark" 
+0

這工作正常。如果我需要跳轉兩個或更多文件夾,我該怎麼辦?就像「c:\ exam \\ * \\ * \\ * \ mark」 –

3

for /d無法在路徑內處理通配符,它​​只能在最後一個元素中使用。

但是,您可以簡單地嘗試複製到目標,如果目標路徑不存在,則失敗並且錯誤將重定向到nul。
或者您可以先測試目標是否存在,如Endoro所示。

for /d %%a in ("c:\exam\*") do (
    copy "C:\name\add.txt" "%%a\mark\" 2> nul 
) 
+0

它不是爲我工作。批處理文件正在運行成功,但處理不起作用。 –

+0

它如何失敗?當你插入'ECHO %% a %% b'時你會得到什麼? – jeb

+0

這是尋找'C:\ exam \ * \ mark \ * \'而不是'C:\ exam \ * \ mark \'! –

相關問題