![如何將具有特定副檔名的所有檔案複製到單一目錄(沒有目錄結構)?](https://rvso.com/image/1311333/%E5%A6%82%E4%BD%95%E5%B0%87%E5%85%B7%E6%9C%89%E7%89%B9%E5%AE%9A%E5%89%AF%E6%AA%94%E5%90%8D%E7%9A%84%E6%89%80%E6%9C%89%E6%AA%94%E6%A1%88%E8%A4%87%E8%A3%BD%E5%88%B0%E5%96%AE%E4%B8%80%E7%9B%AE%E9%8C%84%EF%BC%88%E6%B2%92%E6%9C%89%E7%9B%AE%E9%8C%84%E7%B5%90%E6%A7%8B%EF%BC%89%EF%BC%9F.png)
我一直在嘗試將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
此程式碼將複製而不會覆蓋,並將建立資料夾和子資料夾