假设我想将日期存储在一个变量中并使用 if 语句来调用该变量。这就是我到目前为止所做的@echo off
FOR /F %F IN ('date.cmd') do date SET result=%F
IF %result%== 11/14/2013(echo complete) ELSE
(echo failed)
假设我想将日期存储在一个变量中并使用 if 语句来调用该变量。这就是我到目前为止所做的@echo off
FOR /F %F IN ('date.cmd') do date SET result=%F
IF %result%== 11/14/2013(echo complete) ELSE
(echo failed)
为什么不简单地使用内置%date%
变量?
请注意,`%date% 可能包含日期名称,并且元素的分隔符和顺序也可能因用户而异。
也许
for /f "tokens=1,2" %%a in ("%date%") do if "%%b"=="" (set result=%%a) else (set result=%%b)
echo result is %result%
IF %result%==11/14/2013 (echo complete) ELSE (echo failed)
会适合。
此代码将在 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 "result=%MM%/%DD%/%YYYY%"
IF "%result%"=="11/14/2013" (echo complete) ELSE (echo failed)
pause