我有很多需要搜索某些字符串的日志文件,并且想知道我是否可以制作一个批处理文件来为我自动完成这项工作?我需要做的就是找到某个目录中的最新日志,然后搜索该文件中的字符串。
我在这个网站上找到了以下代码,它可以很好地打开最新的日志文件但不幸的是我不太了解批量编程修改代码来搜索字符串并显示该行。
for /f "usebackq delims=" %%i in (`dir /b /o-d`) do @call "%%i"&goto :eof
非常感谢任何帮助。
答案 0 :(得分:7)
在最后添加一个findstr:
or /f "usebackq delims=" %%i in (`dir /b /o-d`) do findstr searchforthisstring %%i
这样做是为了搜索“searchforthisstring”找到的文件
dir /b/o-d
哪些列表文件(/ b =简单地命名不是任何其他信息和/或反向日期顺序
答案 1 :(得分:2)
首先,设置您想要的文件。如果/od
不起作用,请尝试/o-d
...
for /f %%i in ('dir \path\to\files\ /b /od') do set myfile=%%i
...并注意因为myfile
没有路径。
然后使用for /f "tokens=*"
完整阅读文件的每一行,findstr
搜索您的STRING
...
for /f "tokens=*" %%i in (\path\to\files\%myfile%) do (echo %%i | findstr STRING >> OUTPUTFILE)
如果您希望每次运行代码时都覆盖OUTPUTFILE
,请使用单个>
。
如果您不想要文件,但在屏幕上看到输出,只需删除>> OUTPUTFILE
代码即可。