用于创建带有时间戳的文本文件的批处理文件

时间:2014-02-05 21:49:52

标签: batch-file

robocopy "D:\test01" C:\test02 /MIR /NP /R:0 /W:0 /log:C:\RandomSync\RandFilesLog.txt
C:\RandomSync\RandFilesLog.txt%date%

我的问题:

  1. 上面的robocopies并创建了一个txt文件'randfileslog.txt'。一世 想要robocopy并使用时间戳命名txtfile。就像是 'randfileslog_05Feb14_01:48:10.txt'
  2. 以上文件robo-copy从D盘到C盘。我该怎么写 将其复制到多个驱动器的代码。比如说.. D. 开车到C和A驱动器

1 个答案:

答案 0 :(得分:0)

试试这个:

Call :GetFileDateTime F stamp
for %%a in (C A) do (
     robocopy "D:\test01" %%a:\test02 /MIR /NP /R:0 /W:0 /log:C:\RandomSync\RandFilesLog%stamp%.txt
)
exit /b

:GetFileDateTime Format ret
@echo off & setlocal
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%.%Min%.%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%.%Min%.%Sec%"
( ENDLOCAL
    if /i "%~1"=="DT" set "%~2=%datestamp% %timestamp%"
    if /i "%~1"=="TD" set "%~2=%timestamp% %datestamp%" 
    if /i "%~1"=="D" set "%~2=%datestamp%"
    if /i "%~1"=="T" set "%~2=%timestamp%"
    if /i "%~1"=="F" set "%~2=%fullstamp%"
)
exit /b