我一直在嘗試將JPG
擴展名為的各個子目錄C:
中的所有文件複製到D:
.我不想保留目錄結構。
據我所知,這是:
for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures
之後,系統會詢問我是否要覆蓋D:\pictures
.如果我回答yes
,我最終會得到一個文件,如果我回答否,則不會複製任何文件。
我還嘗試/y
在命令末尾添加,但它只是覆蓋前面的文件,只留下最後一個文件。
答案1
這應該有效:
for /r C:\ %f in (*.jpg) do @copy "%f" D:\pictures\
解釋:
該命令copy "%f" D:\pictures
將檔案複製%f
到該位置,即目錄中的D:\pictures
檔案。pictures
D:\
添加尾部\
以確保copy
將其pictures
視為目錄。
如果將多個檔案複製到一個位置(例如,copy *.* D:\backup
),copy
則自動將其視為backup
目錄。但當您複製單一文件時,情況並非如此。
答案2
for /R c:\ %%1 in ("*.txt") do @xcopy "%%1" d:\txttemp%%~p1 /e/i/s/q/h
此程式碼將複製而不會覆蓋,並將建立資料夾和子資料夾