首页 > 解决方案 > 从日志文件批处理中的一行中提取部分字符串

问题描述

需要从日志文件的一行中提取部分字符串。我想读取日志文件中的条目,这是一个示例:

Thu 08/29/2019 10:46:43.22 setup.bat USB REIMAGE - WinPE reimage of .wim END

我只想提取日期、日期和时间

我试过 for 循环来提取它并没有帮助我

For /F "UseBackQ Delims==" %%A In ("R:\reimage.log") Do Set "lastline=%%A"
    IF "%lastline%" == "USB REIMAGE - WinPE reimage of"(
    set lastline=!line:~0,4!
    echo "The last reimage performed by installer was on %lastline%"
    pause
)

标签: batch-file

解决方案


我在评论中给出的示例是展示我们如何使用令牌。这样的事情应该做你想做的事:

@echo off
for /f "tokens=1-3" %%i in ('type R:\reimage.log ^| findstr /I "USB REIMAGE - WinPE"') do echo %%i %%j %%k

推荐阅读