编写Windows批处理脚本以复制附加日期作为新文件名的文件夹

时间:2016-08-02 23:02:17

标签: batch-file

我正在尝试编写一个Windows批处理脚本,它允许我复制一个目录[foldername],其中新的文件名附加了日期[foldername.date01]。但是它还应该检查是否已经为当前日期制作了一个副本并创建了一个像[foldername.date02]这样的新副本等等。

xcopy / s / e c:\ source d:\ target

允许我复制,但我不知道如何检索日期并附加它。

1 个答案:

答案 0 :(得分:0)

这会将您的目录结构备份到另一个驱动器,其中包含名为 SourceFolderName_CurrentDate_BackupTime 的所有复制文件夹。如果有任何错误,请告诉我:

@ECHO OFF
SET "source=C:\Source" & SET "target=D:\Target"
FOR /F %%a IN ('WMIC OS GET LocalDateTime ^| FIND "."') DO SET DTS=%%a  
SET DT=%DTS:~0,8%_%DTS:~8,6%
FOR /F "tokens=*" %%G in ('DIR /b /a:d "%source%"') DO (
        XCOPY /s/e/y/b/q/r/k/i "%source%\%%G" "%target%\%%G_%DT%" )
EXIT /B

注意,从WinXP Pro开始支持 wmic ,并且上面的 wmic 命令输出与操作系统区域设置无关的时间戳。您可以根据需要在其SET语句中调整DT变量格式。