在 Windows 批处理中处理日期和时间是一件痛苦的事情。
最强大的解决方案是使用 WMIC 获取本地日期和时间。它返回以下格式的值:
YYYYMMDDhhmmss.dddddd-ttt
YYYY = year
MM = month
DD = day
hh = hour in 24 hour format
mm = minutes
ss = seconds
dddddd = fractional seconds
ttt = time zone (minutes difference from Greenwich Mean Time)
因此,您可以使用以下内容在变量Edit中获取当前日期 - 更正了从 7 到 6 的起始子字符串位置
set curDate=
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined curDate set curDate=%%x
set day=%curDate:~6,2%
这种技术的一大优势是它可以在世界上的任何 Windows 机器上工作,无论区域设置如何。
这是插入技术的代码
编辑 - 更正了从 7 到 6 的起始子字符串位置
@echo off
echo Running dump...
set curDate=
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined curDate set curDate=%%x
set "day=%curDate:~6,2%"
"D:\wamp\bin\mysql\mysql5.5.16\bin\mysqldump" --host="localhost" --user="****" --password="****" database> "D:\wamp\backup\mysql\back.%day%.sql"
echo Done!