【发布时间】:2014-08-14 16:04:59
【问题描述】:
我正在考虑创建一个批处理文件,该文件从过去 3 个月的日志文件中的 txt 文件中提取信息,并输出以下信息:
-
计算机名取自文件路径:
\\Server\e$\Users\\**COMPUTER_NAME**\path\search_file.txt 搜索文件中出现的总次数(很高兴 - 不是必须)
-
发生时间: 正在搜索的文件在找到时具有以下格式:
09:24:08:17 (WS:PED:RunRequest) Response: (0) None Error : -2
所以...
COMPUTER_NAME
Number of occurrences found
Time of occurrence i.e. 09:24:08:17
我有这个作为开始:
@echo off
echo.
echo Searching for all Error : -2...
setlocal enabledelayedexpansion
for %%a in (\\Sc0320svr0001\e$\Users\SC0320POS0003\E2ELOGS\ped_20140812_092355.dbg) do
(
set found=false
for /f "skip=2 tokens=*" %%b in ('find "Error : -2" "%%a"') do (
if "!found!"=="false" (
echo %%b >>output.txt
set found=true
)
)
)
这样我只提取“错误:-2”,其中可能有多个实例。
找到批次做个计数:
@find /c /i "Error : -2" "\\Sc0320svr0001\e$\Users\SC0320POS0003\E2ELOGS\*.dbg" >>output.txt
但是,如果大于零,则只寻找输出。
文件部分:
09:23:55:68 (WS:PED:OpenHandler)
Exit
09:23:55:76 (WS:PED:RunRequest)
Request: (1) Check PED status
09:23:55:86 (WS:PED:Write)
Data: 97
09:24:08:08 (WS:PED:Write)
Error: 30
09:24:08:17 (WS:PED:RunRequest)
Response: (0) None
Error : -2
Message :
Receipt :
【问题讨论】:
标签: batch-file find output