0

我想为以下内容编写一个 Windows 批处理脚本。

我在路径下有一些日志文件,这些文件C:\test\每天都在创建,名称中包含当天的日期。IE

u_ex130828.log     (created on 28/08/2013)
u_ex130827.log     (created on 28/08/2013)
u_ex130826.log     (created on 28/08/2013)

我只想在今天创建的所有文件中搜索特定的错误消息。一旦发现错误消息,立即将包含错误消息的完整行附加到名为 Output.txt 的文本文件中,如果未找到错误消息,则不要附加 Output.txt 文件。

4

2 回答 2

2

这应该做你需要的:

@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime  ^| find "."') do set "dt=%%a"
set "YY=%dt:~2,2%"
set "MM=%dt:~4,2%"
set "DD=%dt:~6,2%"

set "today=%YY%%MM%%DD%"

findstr /i /c:"File attached above for last 2 occasions." "C:\inetpub\logs\LogFiles\W3SVC1\*%today%.log" > "C:\inetpub\logs\LogFiles\W3SVC1\output.txt"
于 2013-09-05T06:50:40.880 回答
1
cd /d C:\inetpub\logs\LogFiles\W3SVC1\
set "today=%date:~-4%%date:~-10,2%%date:~-7,2%"
for %%a in (*%today%.log) do (
    for /f "delims=" %%b in ('findstr /c:"File attached above for last 2 occasions." "%%~a"') do (
        (echo %%~a: %%~b)>>Output.txt
    )
)

根据您的需要修改文件搜索模式*%today%.log

于 2013-09-05T05:58:27.570 回答