Windows 如何使用Robocopy在命令行中复制带有时间戳的文件
以下是我的命令,用于将文件复制到我的计算机中以及从我的计算机复制到网络Windows 如何使用Robocopy在命令行中复制带有时间戳的文件,windows,windows-7,cmd,timestamp,robocopy,Windows,Windows 7,Cmd,Timestamp,Robocopy,以下是我的命令,用于将文件复制到我的计算机中以及从我的计算机复制到网络 ROBOCOPY "K:\Builds" F:\Builds\ /E /COPY:DAT ROBOCOPY "E:\" "K:\Shan Khan\" /E /COPY:DAT 例如,仅在复制文件时,如何在目标文件夹中创建时间戳 复制到F:\Builds\ F:\Builds\ ---> F:\Builds_26092015 “E:\”复制到“K:\Shan Khan\Workspace” 请注意,K驱
ROBOCOPY "K:\Builds" F:\Builds\ /E /COPY:DAT
ROBOCOPY "E:\" "K:\Shan Khan\" /E /COPY:DAT
例如,仅在复制文件时,如何在目标文件夹中创建时间戳
F:\Builds\ ---> F:\Builds_26092015
请注意,K驱动器受密码保护,在将IP地址映射到K驱动器时,我手动保存了密码。我尝试了这一行,它工作正常。 它以这种方式创建了目录 2015年6月26日星期五
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\U TEMP%%EFM\U BACKUP%*.CFX/S/NP/R:5/W:5/XX/MOV/LOG:%EFM\U COPY\U BACKUP%
@ShanKhan在一个单独的命令进程中运行命令行date/T
的目的是什么,该命令进程由%ComSpec%/C
启动,用于在后台输出依赖于国家的当前日期,捕获该输出,在启动cmd.exe
终止后,使用多余的tokens=1*
对其进行for
处理,将捕获的行完全分配给环境变量datestr
,然后根本不使用此环境变量?环境变量datestr
的值始终与第二行中使用的动态环境变量date
的值相同。整个for
cmd命令行只占用CPU电源。@ShanKhan命令行md F:\Builds\%date://=\uu%“
的编码也错误。整个文件夹路径必须用双引号括起来,而不仅仅是其中的一部分。Windows命令处理器会在执行md
时自动更正此语法错误,但并非所有命令和应用程序都会自动修复这种不正确的双引号参数字符串。正确编码的第二行是md“F:\Builds\%date://=\uu0%”
。在命令提示窗口中运行时的帮助输出cmd/?
在最后一段的最后一个帮助页上解释了文件/文件夹名称必须何时以及如何用双引号括起来。@ShanKhan最好使用类似YYYY-MM-DD
(标准国际日期格式)的日期格式或YYYY\u MM\u DD
或yyyyymmdd
。在这种情况下,按字母顺序列出的文件夹中,第一年有四位数字,第二个月有两位数字,第三天有两位数字,也会自动按时间顺序列出,这样人们就可以很容易地找到特定日期的文件夹,脚本也可以更容易地处理文件夹名称中的日期。是否删除最旧的文件夹?在文件夹名称中使用这种日期格式的单个命令行。
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