我有一個資料夾位置列表,我想從中複製這些位置中包含的所有檔案。資料夾位置清單儲存在文字檔案 (.txt) 內的單獨行中。所有文件應複製到同一位置。
如何使用此資料夾清單並結合命令提示字元下的複製功能來完成此練習?
答案1
考慮一個具有類似內容的文件,其中包含目錄列表,例如:
c:
c:\users
c:\anyotherfolder
xcopy
在循環內for
即可完成這項工作:)
for /f %a in (list.txt) do xcopy /e %a\* c:\destination_folder\
(透過複製整個目錄樹(由於/e
))
%
如果您想在單獨的文件上保留並執行變量,則應該在變數名稱中添加額外的內容.bat
。
答案2
我採用了 Elvins 程式碼並對其進行了輕微的開發,以解決資料夾路徑和名稱中包含空格的問題。
For Do 命令現在使用 CSV 檔案來取得資料夾路徑,因此需要"delims=,"
在 For 命令中包含該選項。
for /f "delims=," %a in (D:\Batch_Files\Test_Bench\Folders_List.csv) do copy "%a\*" D:\Batch_Files\Test_Bench\Paste_All_The_Files_Here
逗號分隔的記錄允許For /f
存取包含空格的位置,但前提是令牌%a\*
包含在「」中。