如果文件不存在,Windows cmd 将递归复制目录和内容

如果文件不存在,Windows cmd 将递归复制目录和内容

问题符合标题:我想从本地存储复制到网络存储目录及其内容,但只复制新文件或更新文件,不提示。我的想法是使用 xcopy

xcopy source destination /s /e **only new or updated files**

答案1

如果文件不存在,Windows cmd 将递归复制目录和内容

我的想法是使用 xcopy

不幸的是,XCOPY默认情况下,仅从源复制目标中不存在的内容实际上并不能很好地完成此操作。此外,XCOPY根据 Microsoft 的说法,它已弃用,建议使用Robocopy命令代替它,如果您正在构建新流程,这样做尤其有意义。

因此,虽然这是您的想法XCOPY,但我希望您愿意在特定需要时使用 Robocopy,因为它是旨在替代的 Windows 原生命令行工具XCOPY


Robocopy 脚本示例

(查看选项以确保所有设置均符合您的需求)

(将以下逻辑保存到文本文件并重命名 <something>.cmd,然后根据需要双击运行)

SET SRC="C:\path\source"
SET DEST="C:\path\destination"
SET FName=*.*
SET LOG=C:\Path\Log.txt
::   If you do not want a log file, remove the "/LOG+:%LOG%" below
SET OPT=/PURGE /S /NP /R:5 /LOG+:%Log% /TS /FP
SET CMD=robocopy %SRC% %FName% %DEST% %OPT%
%CMD%

Robocopy 复制和粘贴命令行示例

(查看选项以确保所有设置均符合您的需求)

::   If you do not want a log file, remove the "/LOG+:C:\Path\Log.txt" below
robocopy "C:\path\source" *.* "C:\path\destination" /PURGE /S /NP /R:5 /LOG+:C:\Path\Log.txt /TS /FP

更多资源和阅读材料

相关内容