robocopy文件结构 - 如果较新,则在目标位置重命名文件

时间:2014-01-10 02:02:14

标签: robocopy

我想将一个目录和它的子目录robocopy到另一个目录。如果源文件较新,那么我想通过在目的地的文件名末尾添加日期/时间戳来复制此文件,并将副本复制到目标。

我没有在robocopy中看到任何开关来执行此操作。有人可以指导我如何做到这一点。

1 个答案:

答案 0 :(得分:1)

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

来实现