0

假设我想将日期存储在一个变量中并使用 if 语句来调用该变量。这就是我到目前为止所做的@echo off

FOR /F %F IN ('date.cmd') do date SET result=%F

IF  %result%== 11/14/2013(echo complete) ELSE
(echo failed)
4

2 回答 2

1

为什么不简单地使用内置%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)

会适合。

于 2013-11-15T00:25:00.573 回答
0

此代码将在 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
于 2013-11-14T23:21:58.457 回答