我有一个文件夹位置列表,我想从中复制这些位置中包含的所有文件。文件夹位置列表存储在文本文件 (.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\*
被包裹在“ ”中。