在批处理文件win server 2012中创建具有今天日期的目录

时间:2013-12-12 10:11:27

标签: windows batch-file windows-server-2008

大家好,我已经在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”

感谢

1 个答案:

答案 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