【问题标题】:How to use Robocopy to copy files with TimeStamp in command line如何在命令行中使用 Robocopy 复制带有时间戳的文件
【发布时间】:2015-09-12 22:09:45
【问题描述】:

以下是我将文件复制到我的计算机中并从我的计算机复制到网络的命令。

ROBOCOPY "K:\Builds" F:\Builds\ /E /COPY:DAT
ROBOCOPY "E:\" "K:\Shan Khan\" /E /COPY:DAT

我如何在目标文件夹中制作时间戳,例如仅在复制文件时

  1. 复制到 F:\Builds\ 时的“K:\Builds”

        F:\Builds\ ---> F:\Builds_26092015
    
  2. “E:\”复制到“K:\Shan Khan\Workspace”时

      "K:\Shan Khan\Workspace"---> "K:\Shan Khan\Workspace_26092015"   
    

请注意K盘受密码保护,我在将IP地址映射到K盘时手动保存了密码。

【问题讨论】:

    标签: windows windows-7 cmd timestamp robocopy


    【解决方案1】:

    我试过这条线,它有效。 它以这种方式创建了目录 周五 06_26_2015

    for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a
    md F:\Builds\"%date:/=_%"
    ROBOCOPY "K:\Builds" "F:\Builds\%date:/=_%" /E /COPY:DAT /DCOPY:T
    

    【讨论】:

    • 如何格式化此文件,以便使用文件名 + 当前时间戳拾取并重命名文件? Start /WAIT robocopy %EFM_TEMP% %EFM_BACKUP% *.CFX /S /NP /R:5 /W:5 /XX /MOV /LOG:%EFM_COPY_BACKUP%
    • @ShanKhan 在后台运行 cmd line date /T 的目的是什么它由for 和多余的tokens=1* 启动后cmd.exe 终止,将捕获的行完全分配给环境变量datestr 然后根本不使用这个环境变量?环境变量datestr 的值始终与第二行中使用的动态环境变量date 的值相同。整个 for cmd 行只占用 CPU 资源。
    • @ShanKhan 命令行md F:\Builds\"%date:/=_%" 也编码错误。整个文件夹路径必须用双引号引起来,而不仅仅是其中的一部分。 Windows 命令处理器会在执行 md 时自动更正此语法错误,但并非所有命令和应用程序都会自动修复此类不正确的双引号参数字符串。第二行正确编码为md "F:\Builds\%date:/=_%"。在命令提示符窗口中运行的帮助输出 cmd /? 在最后一段的最后一个帮助页面上解释了何时以及如何将文件/文件夹名称括在双引号中。
    • @ShanKhan 最好使用YYYY-MM-DD(标准化国际日期格式)或YYYY_MM_DDYYYYMMDD 之类的日期格式。在这种情况下,文件夹按字母顺序列出,第一年有四位数,第二个月有两位数,第三天有两位数,在这种情况下也会自动按时间顺序列出,这使人们可以轻松找到特定日期的文件夹和脚本更轻松地处理文件夹名称中的日期。删除最旧的文件夹?文件夹名称中具有此类日期格式的单个命令行。
    猜你喜欢
    • 2013-09-07
    • 1970-01-01
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    相关资源
    最近更新 更多