我需要定期复制文件,例如每小时一次,因此我尝试设置 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.txt
、File-COPY2.txt
等模式。这需要更多工作。如果时间戳方法还不够,请告诉我们。
关于batch-file - 自动复制文件而不覆盖,而是创建编号文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12527565/