标题: [文本处理] 批处理BAT如何只复制不存在的文件? [打印本页]
作者: gannh 时间: 2014-4-24 17:02 标题: 批处理BAT如何只复制不存在的文件?
现在有两个文件夹A和B,请问如何用批处理文件将A文件夹对比B文件夹不存在的文件复制到B文件夹?谢谢
作者: yu2n 时间: 2014-4-24 20:30
- set "a=c:\A"
- set "b=D:\B"
- xcopy /c /d /e /i /v "%a%" "%b%"
复制代码
C:\Users\yu2n>xcopy /?
复制文件和目录树。
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J]
[/EXCLUDE:file1[+file2][+file3]...]
/D:m-d-y 复制在指定日期或指定日期以后更改的文件。
如果没有提供日期,只复制那些
源时间比目标时间新的文件。
/E 复制目录和子目录,包括空目录。
与 /S /E 相同。可以用来修改 /T。
/V 验证每个新文件的大小。
/C 即使有错误,也继续复制。
/I 如果目标不存在,且要复制多个文件,
则假定目标必须是目录。
作者: gannh 时间: 2014-4-24 22:49
谢谢yu2n指点
作者: terse 时间: 2014-4-25 00:33
另外也可试下 replace- @echo off
- set "ph1=c:\A"
- set "ph2=D:\B"
- replace /a "%ph1%\*" "%ph2%"
- pause
复制代码
作者: CrLf 时间: 2014-4-25 01:08
回复 4# terse
冷知识,学习了...刚学的时候用了几次 replace,然后搁置一百年
作者: zhanglei1371 时间: 2014-4-25 08:35
回复 2# yu2n
这个似乎不能做到Lz的要求吧,加D只是对日期进行了限定
作者: CrLf 时间: 2014-4-25 10:14
回复 6# zhanglei1371
我在想似乎可以用 /EXCLUDE,不过存在误判可能。- dir /b /a-d b\>排除.txt&xcopy /EXCLUDE:排除.txt a\* b\
复制代码
还是 replace 简单靠谱
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |