我想複製文件並將該文件粘貼到多個文件夾。複製文件並粘貼到多個文件夾
指定路徑:c:\exam\*\mark
,*
是主題。我有很多不同主題的文件夾。 我使用一個批處理文件一樣,
for /d %%a in ("c:\exam\*\mark") do copy "C:\name\add.txt" "%%a"
但是這不是爲我工作,請給一個建議糾正這種代碼。
我想複製文件並將該文件粘貼到多個文件夾。複製文件並粘貼到多個文件夾
指定路徑:c:\exam\*\mark
,*
是主題。我有很多不同主題的文件夾。 我使用一個批處理文件一樣,
for /d %%a in ("c:\exam\*\mark") do copy "C:\name\add.txt" "%%a"
但是這不是爲我工作,請給一個建議糾正這種代碼。
一個循環就足夠了:
for /d %%a in (c:\exam\*) do if exist "%%~a\mark\" copy "C:\name\add.txt" "%%~a\mark"
for /d
無法在路徑內處理通配符,它只能在最後一個元素中使用。
但是,您可以簡單地嘗試複製到目標,如果目標路徑不存在,則失敗並且錯誤將重定向到nul。
或者您可以先測試目標是否存在,如Endoro所示。
for /d %%a in ("c:\exam\*") do (
copy "C:\name\add.txt" "%%a\mark\" 2> nul
)
它不是爲我工作。批處理文件正在運行成功,但處理不起作用。 –
它如何失敗?當你插入'ECHO %% a %% b'時你會得到什麼? – jeb
這是尋找'C:\ exam \ * \ mark \ * \'而不是'C:\ exam \ * \ mark \'! –
這工作正常。如果我需要跳轉兩個或更多文件夾,我該怎麼辦?就像「c:\ exam \\ * \\ * \\ * \ mark」 –