【发布时间】:2014-10-23 17:18:43
【问题描述】:
我想将一个目录及其子目录复制到另一个目录。如果源文件较新,那么我想通过在目标文件名的末尾添加日期/时间戳来制作该文件的副本,然后复制到目标。
我在 robocopy 中没有看到任何开关来执行此操作。有人可以指导我如何做到这一点。
【问题讨论】:
标签: robocopy
我想将一个目录及其子目录复制到另一个目录。如果源文件较新,那么我想通过在目标文件名的末尾添加日期/时间戳来制作该文件的副本,然后复制到目标。
我在 robocopy 中没有看到任何开关来执行此操作。有人可以指导我如何做到这一点。
【问题讨论】:
标签: robocopy
Robocopy 没有重命名开关,但您可以对生成的文件使用rename 命令来添加时间戳。这是一个示例批处理文件:
@echo off
for /f "tokens=1-3 delims=. " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
for /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)
dir Directory1\ /b > list
robocopy Directory1\ Backup\
for /f %%f in (list) do rename Backup\%%f %%~nf%mydate%_%mytime%%%~xf
请注意,您需要根据您遵循的国家/地区标准更改日期的分隔符。你可以通过执行date /t得到它
【讨论】:
ilename + yyyymmddhhmmss.txt 重命名所有现有文件吗?例如,我知道 RoboCopy 没有重命名选项