我正在尝试找到特定日期的文件,但我的相等性似乎没有按照我期望的那样工作。这是我的批处理文件:
@echo off
setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
chdir /d T:
FOR /r %%i IN (*) do (
echo %%i
set FileDate=%%~ti
echo Date: !FileDate!
set year=!FileDate:~6,4!
echo year: !year!
if !year! == 2009 (
echo is 2009
) else (
echo not 2009
)
)
当我运行它时,会得到以下输出:
T:\SomeFile.txt
Date: 09/11/2009 02:51 PM
year: 2009
not 2009
有人能否解释一下为什么年份打印出来是2009,但在if语句中不被视为2009?谢谢,抱歉我的批处理小白。
set "year=!FileDate:~6,4!"
- Aacini