在 Embedded xp 中向批处理文件添加基本日期格式

Adding a basic date format to a Batch File in Embedded xp

我正在研究修改一些代码以将日期格式添加到批处理文件,这是我们正在使用的代码,它在 Windows XP 嵌入式机器上

日期格式可以简单到16012015

文件先存到D盘再复制到U盘,如果有U盘的话,PC上的存储空间很小,所以每次备份的时候都会删除文件

REM #### Creation of the ZIP file ####

Del %BackupPath%\%ZipName%
7z a -tzip %BackupPath%\%ZipName% %BackupPath%\Backup\



REM #### Copy to USB ####

IF EXIST E: (echo Copie sur disque E:
             copy %BackupPath%\%ZipName% E: /y )
IF EXIST F: (echo Copie sur disque F:
             copy %BackupPath%\%ZipName% F: /y )
IF EXIST G: (echo Copie sur disque G:
             copy %BackupPath%\%ZipName% G: /y )
IF EXIST H: (echo Copie sur disque H:
             copy %BackupPath%\%ZipName% H: /y )
IF EXIST I: (echo Copie sur disque I:
             copy %BackupPath%\%ZipName% I: /y )

如果您不关心日期格式并且您对 %DATE% 使用的格式感到满意,那么像这样简单的方法应该可行:

REM Remove slashes and spaces from the date:
set d=%date:/=%
set d=%d: =%
set NewZipName=Backup-%d%.zip

在我的电脑上 %DATE% returns Thu 01/15/2015 所以我要删除上面的 / 和 space 以生成 [= 的 NewZipName 22=],但在您的情况下,您可能必须根据您的区域设置日期格式删除不同的字符...

然后和最后copy %BackupPath%\%ZipName% G:\%NewZipName% /y

我发现最好使用 YYYYMMDD 格式的时间戳,以便它们按时间顺序排序。

for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/:. " %%a in (`echo %DATE% %TIME%`) do set NOW=%%d%%b%%c_%%e%%f%%g
@echo now: %NOW%
set NewZipName=Backup-%NOW%.zip

这将以 YYYYMMDD_HHMMSS 格式打印日期。示例输出:20150115_165438