【发布时间】:2013-06-01 20:34:40
【问题描述】:
我有一个包含文件夹列表的文本文件。我的文本文件如下所示:
"D:\old\FOLDER1" "D:\旧\FOLDER2" "D:\old\FOLDER3" "D:\旧\FOLDER4" "D:\旧\FOLDER5"所有这些文件夹下都有子文件夹和文件
我想要做的是使用 xcopy 复制 FOLDER1, FOLDER2 , FOLDER3 FOLDER4 和 FOLDER5 复制文件夹,复制这些文件夹的结构
所以在输出中,我想得到 p>
D:\output\bkup\FOLDER1\............包括所有子文件夹和文件 D:\output\bkup\FOLDER2\............包括所有子文件夹和文件 D:\output\bkup\FOLDER3\.......... 包括所有子文件夹和文件
D:\output\bkup\FOLDER4\............包括所有子文件夹和文件
D:\output\bkup\FOLDER5\............ 包括所有子文件夹和文件
我写了下面的脚本,它适用于一个文件夹
set sourceFolder="D:\old\FOLDER5"
set destinationFolder=%sourceFolder:~7,-1%
echo %destinationFolder%
xcopy /s /e /i /h /r /y %sourceFolder% "D:\output\bkup%destinationFolder%"
但是由于要复制的目录数是 100+,我喜欢使用 for 循环或将要复制的目录列表传递到文本文件中,这就是我不知道如何处理它的原因。
请帮帮我,我不是批处理文件编写专家。
【问题讨论】:
-
@rene 感谢您的宝贵时间,我收到一个错误“docopy”不被识别为内部或外部命令,
-
进行了编辑并添加了对文本文件
"My File With Source Folders.txt"和xcopy的支持。 -
@user2434611 通过添加冒号修复了我的答案中的错误
-
@rene 非常感谢您帮助我,您的代码非常适合我的需要
-
@rene 在实践中,我的目录名很长,文本文件中的每一行都是这样的 "F:\SCRIPTS\00\48\64\06\BAT140_PLM_PRIM_Feature line Proposals table - edit" 所以之后进程生成的sourceFolder是; “BAT140_PLM_PRIM_Feature”而不是“BAT140_PLM_PRIM_Feature line Proposals table - edit”,部分路径被切断,任何想法
标签: windows batch-file scripting xcopy