批处理文件求助:如何通过AlreadyCopied.txt排除指定文件复制
问题原因及解决方法
核心问题:排除列表文件格式错误
你的AlreadyCopied.txt内容包含file '前缀和单引号,不符合xcopy/robocopy的排除列表格式要求,导致工具无法识别要排除的文件路径。
步骤1:修正排除列表文件
将AlreadyCopied.txt的内容修改为纯文件路径,每行一个路径,去掉file '和末尾的单引号,修改后内容如下:
E:\teste-batch-file\original\CG Animation Of Outerspace - Copy - Copy - Copy (1) - Copy.mp4 E:\teste-batch-file\original\CG Animation Of Outerspace - Copy - Copy - Copy (2) - Copy.mp4 E:\teste-batch-file\original\CG Animation Of Outerspace - Copy - Copy - Copy (3) - Copy.mp4 E:\teste-batch-file\original\CG Animation Of Outerspace - Copy - Copy - Copy (4) - Copy.mp4
如果%Source%变量已经指向E:\teste-batch-file\original,也可以简化为只保留文件名:
CG Animation Of Outerspace - Copy - Copy - Copy (1) - Copy.mp4 CG Animation Of Outerspace - Copy - Copy - Copy (2) - Copy.mp4 CG Animation Of Outerspace - Copy - Copy - Copy (3) - Copy.mp4 CG Animation Of Outerspace - Copy - Copy - Copy (4) - Copy.mp4
步骤2:使用修正后的列表执行正确命令
方法1:Xcopy 命令
保持命令结构,确保%Source%和%Target%变量正确指向对应目录:
xcopy "%Source%\*.mp4" "%Target%" /EXCLUDE:AlreadyCopied.txt
注意:xcopy的
/EXCLUDE会匹配路径或文件名中的任意片段,纯路径或纯文件名都能生效,只要确保片段唯一,不会误排除其他文件。
方法2:RoboCopy 命令
RoboCopy需要用@符号引用排除列表文件,同时调整命令参数:
RoboCopy "%Source%" "%Target%" *.mp4 /XF @AlreadyCopied.txt
说明:
/XF @AlreadyCopied.txt表示读取AlreadyCopied.txt中的每行内容,作为要排除的文件路径;如果用纯文件名,RoboCopy会自动匹配源目录下的对应文件。
内容的提问来源于stack exchange,提问作者Ionut Bejinariu
相关产品推荐
相关产品推荐

