如何將具有特定副檔名的所有檔案複製到單一目錄(沒有目錄結構)?

如何將具有特定副檔名的所有檔案複製到單一目錄(沒有目錄結構)?

我一直在嘗試將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檔案。picturesD:\

添加尾部\以確保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

此程式碼將複製而不會覆蓋,並將建立資料夾和子資料夾

相關內容