大家好,我已经在Windows 2003服务器上运行了以下代码,运行正常。
echo on
FOR /F "TOKENS=1* DELIMS=- " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=- " %%A IN ('DATE/T') DO SET dd=%%A
FOR /F "TOKENS=1,2 DELIMS=- eol=/" %%A IN ('echo %CDATE%') DO SET mm=%%A
FOR /F "TOKENS=1,2 DELIMS=- " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%yyyy%%mm%%dd%
mkdir C:\MySqlDbsBackup\%date%
mysqldump --user root --password=mypassword mydb > C:\MySqlDbsBackup\%date%\mydb.sql
正在转移到赢得服务器2012,由于某种原因,日期现在是“isEcho is on 12/12/20”
并且它创造的唯一明智的东西叫做“isECHO”
感谢
答案 0 :(得分:1)
此代码的前四行将为您提供XP Pro及更高版本中可靠的YY DD MM YYYY HH Min Sec变量。您可以自己定制日期格式。
不要将date
用作变量名,因为它是系统变量。
@echo off
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%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause