Batch file 将Windows批处理脚本写入到附加日期为新文件名的重复文件夹中

Batch file 将Windows批处理脚本写入到附加日期为新文件名的重复文件夹中,batch-file,Batch File,我正在尝试编写一个windows批处理脚本,该脚本允许我用一个新文件名复制目录[foldername],该文件名后面附加日期[foldername.date01]。但它还应该检查当前日期是否已经复制,并创建一个新的日期,如[foldername.date02]等等 xcopy/s/e c:\source d:\target 允许我复制,但我不知道如何检索日期并将其附加。这将把目录结构备份到另一个驱动器,其中包含所有已复制的名为SourceFolderName\u CurrentDate\u Ba

我正在尝试编写一个windows批处理脚本,该脚本允许我用一个新文件名复制目录[foldername],该文件名后面附加日期[foldername.date01]。但它还应该检查当前日期是否已经复制,并创建一个新的日期,如[foldername.date02]等等

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


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

这将把目录结构备份到另一个驱动器,其中包含所有已复制的名为SourceFolderName\u CurrentDate\u 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
变量格式。

如果已经有一个附加了当前日期的文件夹,那么新名称是否应该包含更当前的日期??请详细说明在重复的情况下要做什么!此外,请分享您自己尝试过的内容,因为SO不是免费的代码编写服务!查看页面并学习…我想,date_time格式适合他。我没有任何批处理编程知识。我是手动操作的。我已经分享了我能想到的。看看下面的答案,我似乎低估了代码。它看起来比我想象的要复杂得多。只要我能,任何格式都可以differentiate@keanu101您使用什么Windows版本?发布的确切错误是什么?你上面的评论和你的问题一样有缺陷,没有提供任何细节。我使用的是Windows10Pro。到目前为止,我没有看到任何错误。让我一次只尝试这一行,而不是运行整个脚本,看看可能会出现什么问题。谢谢,这正是我所需要的。那会节省我很多时间。