我有很多需要搜索某些字符串的日志文件,我想知道我是否可以制作一个批处理文件来为我自动完成这项工作?我需要做的就是在某个目录中找到最新的日志,然后在该文件中搜索字符串。
我在这个网站上找到了下面的代码,它可以很好地打开最新的日志文件,但不幸的是我对批处理编程知之甚少,无法修改代码以搜索字符串并显示该行。
for /f "usebackq delims=" %%i in (`dir /b /o-d`) do @call "%%i"&goto :eof
任何帮助将非常感激。
我有很多需要搜索某些字符串的日志文件,我想知道我是否可以制作一个批处理文件来为我自动完成这项工作?我需要做的就是在某个目录中找到最新的日志,然后在该文件中搜索字符串。
我在这个网站上找到了下面的代码,它可以很好地打开最新的日志文件,但不幸的是我对批处理编程知之甚少,无法修改代码以搜索字符串并显示该行。
for /f "usebackq delims=" %%i in (`dir /b /o-d`) do @call "%%i"&goto :eof
任何帮助将非常感激。
在末尾添加一个 findstr:
or /f "usebackq delims=" %%i in (`dir /b /o-d`) do findstr searchforthisstring %%i
这是在搜索“searchforthisstring”找到的文件
dir /b/o-d
哪些列表文件(/b = 仅命名而不是任何其他信息和 /od 反向日期顺序
首先,设置你想要的文件。如果/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
代码。