如何获得“FINDSTR”查找指定范围内的值? 我设置了“字符串”:“20141001”和“20141030”。如果内* .TXT文件存在 “20141017”,应该返回 “ERRORLEVEL”= 0如何FINDSTR在目录中的所有TXT中指定的数值范围内查找出现?
为例:
关闭@echo
SET DATE_STA=20141001
SET DATE_END=20141030
echo Looking for all the files in the folder
echo within the range from %DATE_STA% to %DATA_END% ...
echo.
:FINDING
findstr /r "%DATE_STA% to %DATA_END%" C:\Folder\*.txt
IF %ERRORLEVEL%==0 (
goto OKAY) else (
goto FAIL
)
:OKAY
cls
echo.
echo Located file that contains a value in the specified range.
echo.
pause
exit
:FAIL
cls
echo.
echo Any file located in this folder..
echo.
pause
exit
我没有看到你在批处理文件中的任何地方使用'FINDSTR'。还请提供您已经完成的研究,以了解您的位置。 – zealoushacker
'findstr'不能进行数字检查,它搜索其他字符* * – aschipfl
'findstr'命令不能找到指定范围之间的字符串“。每个字符串都必须单独测试才能做到这一点:'if!value! geq%DATE_STA%if!value! leq%DATA_END%goto OKAY',但我们需要知道文件的格式才能编写解决方案。您可以使用'findstr/R“201410 ..”'查找与2014年10月相对应的日期字符串,但这会返回包含这些日期的_complete lines_,而不仅仅是日期字符串!当然,除非每个文件行只包含一个日期(我们需要知道文件的格式)... – Aacini