复制文件而不在命令行中覆盖它们

Posted on 2019-05-23 18:58  努力成长静待花开  阅读(1198)  评论(0编辑  收藏  举报

如果使用拖放或复制/粘贴复制文件,则只需选择“替换目标中的文件”
或“跳过这些文件”选项即可覆盖目标文件夹中已存在的文件

  

或者,如果您使用命令行 Copy ,则可以回答N以绕过已存在的这些文件。

  当文件不存在时使用 IF 判断

  

  或使用 ECHO

  

如果您需要将文件夹复制到另一个位置
不覆盖新位置中已存在的文件,则可以执行以下操作。

FOR %f in (temp_1\*.*) DO IF NOT EXIST "temp_2\%~nxf" COPY "%f" "temp_2"

命令中的%~nx是从变量%f中删除文件夹信息,因此您只能获得文件名作为结果。
或者,使用功能强大的复制命令行替代,即robocopy
您可以使用以下开关跳过某些文件。

/ xc  - 排除已更改的文件
/ xn  - 排除较新的文件
/ xo  - 排除旧文件

例如,将所有文件从文件夹A复制到文件夹B,但不包括具有较新时间戳的所有文件。

robocopy frompath topath /s /xn