我有一个包含日期的文本文件,现在我想将这些日期与当前日期进行比较。如果日期匹配我需要执行其他明智的操作,它会打印else语句。
我尝试了以下代码但代码我没有得到。 变量包含所有值,但它采用最后一个值进行比较。
代码:
for /f %%i in (' MyFile.txt') do set ren=%%i
echo %ren%
if %ren% == %date% goto same
goto notsame
:same
echo Dates the same, do some code here
exit /b
:notsame
echo Dates NOT the same, do some code here
exit /b
文本文件:
06/04/2017
16/09/2016
04/05/2016
答案 0 :(得分:0)
如果您的PC上的echo %date:~-10%
输出的格式与Myfile.txt的内容格式相同,那么:
for /f %%i in (MyFile.txt) do if "%%i" equ "%date:~-10%" (call :same) else (call :notsame)
pause
exit /b
:same
echo Dates the same, do some code here
goto :eof
:notsame
echo Dates NOT the same, do some code here
goto :eof
答案 1 :(得分:0)
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "filename1=%sourcedir%\q39533625.txt"
findstr /x "%date%" "%filename1%">nul
IF ERRORLEVEL 1 (
ECHO DATE %DATE% NOT found
) ELSE (
ECHO DATE found:%date%
)
GOTO :EOF
您需要更改sourcedir
和filename1
的设置以适合您的具体情况。
我使用了一个名为q39533625.txt
的文件,其中包含我的测试数据。
findstr /x
在文件中找到当前日期字符串,如果找到则将errorlevel
设置为0,否则设置为非零。 /x
表示“完全匹配”。 >nul
会阻止findstr
的报告到屏幕。