batch-file - 自动复制文件而不覆盖,而是创建编号文件

标签 batch-file vbscript xcopy robocopy

我需要定期复制文件,例如每小时一次,因此我尝试设置 xcopy 批处理,表示它应该将需要复制的文件复制到另一个文件夹。现在,当它复制时,它会覆盖文件,这不是它应该做的。

复制文件时,它应该创建一个新文件,命名为 File.txt、File-COPY1.txt、File-COPY2.txt 或类似名称。

有办法做到吗?

提前致谢。

最佳答案

您只需在文件名中添加时间戳即可为每次运行创建单独的文件。像这样的事情:

XCOPY "File.txt" "[TargetDir]\File1_%time:~0,2%_%time:~3,2%_%time:~6,2%.txt"

鉴于复制操作发生在 11:30:05,此文件名将解析为 File1_11_30_05.txt%time:~0,2% 部分从存储在变量 %time% 中的时间字符串中提取 2 位数字。

此外,您还可以以相同的方式添加日期。您可以使用变量 %date% 来实现此目的。

如果您确实需要像 File-COPY1.txtFile-COPY2.txt 等模式。这需要更多工作。如果时间戳方法还不够,请告诉我们。

关于batch-file - 自动复制文件而不覆盖,而是创建编号文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12527565/

相关文章:

batch-file - Windows - 列出文件夹中的所有非空目录并写入文件

batch-file - 如何获取当前行号?

vbscript - "connection.Children(0)"触发 "The enumerator of the collection cannot find en element with the specified index."

xml - WebService 返回 409 它似乎正在删除 encoding=utf-8 这怎么会发生

从 "if"内和 "timeout"之后的批处理调用时,Python 输入被阻止

batch-file - ffmpeg concat + 处理时发现无效数据 + 检查有效 avi 文件

svn - Subversion 中的忽略文件从 svn :ignore property 中删除旧值

batch-file - 重命名隐藏和系统文件命令

batch-file - XCopy 命令在批处理文件中不起作用

batch-file - 允许 bat 脚本对错误采取行动