你的错误在于使用findstr查询“Risks: 0”上。
用空格分隔多个搜索字符串,除非参数以 /c 为前缀。要在文件中搜索“Risks:”或“0”,请键入:
findstr /i "Risks: 0" temp.txt
要在文件中搜索“Risks: 0”,即空格不作为分隔符使用,请键入:
findstr /i /c:"Risks: 0" temp.txt
如果不是复杂匹配查询,完全可以使用find命令。上面的代码就可以写成:- @echo off
- for /f "tokens=1-3 delims=-:/ " %%a in ("%date%") do set da=%%a&set db=0%%b&set dc=0%%c
- for /f "delims=" %%a in (D:\log\%db:~-2%%dc:~-2%%da%.log) do set a=%%a
- echo %a%|find /i "Risks: 0">nul&© "D:\Scan\AA.txt" "E:\Scaned"||start "" "alarm.bat"
复制代码 这样就不需要temp.txt这个临时文件了。
如果%date%的返回日期为“2010-12-01 星期三”,则可以精简为:- @echo off
- for /f "delims=" %%a in (D:\log\%date:~5,2%%date:~8,2%%date:~0,4%.log) do set a=%%a
- echo %a%|find /i "Risks: 0">nul&© "D:\Scan\AA.txt" "E:\Scaned"||start "" "alarm.bat"
复制代码
[ 本帖最后由 hanyeguxing 于 2010-12-1 12:01 编辑 ] |