【问题标题】:robocopy file structure - rename file at destination if its newerrobocopy 文件结构 - 如果文件较新,则在目的地重命名文件
【发布时间】:2014-10-23 17:18:43
【问题描述】:

我想将一个目录及其子目录复制到另一个目录。如果源文件较新,那么我想通过在目标文件名的末尾添加日期/时间戳来制作该文件的副本,然后复制到目标。

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

【问题讨论】:

    标签: robocopy


    【解决方案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得到它

    【讨论】:

    • 你能再扩展一下吗..这可以用现有的 filename + yyyymmddhhmmss.txt 重命名所有现有文件吗?例如,我知道 RoboCopy 没有重命名选项
    猜你喜欢
    • 2019-07-25
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    相关资源
    最近更新 更多