我正在尝试创建一个批处理文件,该文件将进入目录并查找日志文件,然后搜索日志文件以查看单词“ERROR:”是否在行的开头。那部分我已经想通了。我现在的问题是尝试创建一个显示行来显示我在* .log之后的目录。
例如
------- C:\ TEMP * .LOG -----------------
- C:\ TEMP \ temp1.log
- C:\ TEMP \ temp2.log
错误:温度错误
------- C:\ TEMP \子目录* .LOG -----------------
- C:\ TEMP \子目录\ temp3.log
错误:这是一个错误
- C:\ TEMP \子目录\ temp4.log
这是我目前正在使用的代码
Set _OutFile=c:\temp\check_error.txt
If Exist "%_OutFile%" Del "%_OutFile%"
For /F "Tokens=* Delims=" %%I In ('Dir /b "c:\temp\*.log"') Do (
(Echo.
Echo.---------- %%~I
)>>"%_OutFile%"
Findstr /B /C:"ERROR:" "%%I">>"%_OutFile%"
)
这只会产生
---------- TempData.log
它不显示主路径或文件路径。
答案 0 :(得分:0)
更改此行:
Echo.---------- %%~I
到此:
Echo.---------- %%~fI