[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理BAT如何只复制不存在的文件?

现在有两个文件夹A和B,请问如何用批处理文件将A文件夹对比B文件夹不存在的文件复制到B文件夹?谢谢

回复 6# zhanglei1371


我在想似乎可以用 /EXCLUDE,不过存在误判可能。
  1. dir /b /a-d b\>排除.txt&xcopy /EXCLUDE:排除.txt a\* b\
复制代码
还是 replace 简单靠谱

TOP

回复 2# yu2n


    这个似乎不能做到Lz的要求吧,加D只是对日期进行了限定

TOP

回复 4# terse


    冷知识,学习了...刚学的时候用了几次 replace,然后搁置一百年

TOP

另外也可试下 replace
  1. @echo off
  2. set "ph1=c:\A"
  3. set "ph2=D:\B"
  4. replace /a "%ph1%\*" "%ph2%"
  5. pause
复制代码
1

评分人数

    • CrLf: 这个好技术 + 1

TOP

谢谢yu2n指点

TOP

  1. set "a=c:\A"
  2. set "b=D:\B"
  3. 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           如果目标不存在,且要复制多个文件,
               则假定目标必须是目录。
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

返回列表