Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
160 views
in Technique[技术] by (71.8m points)

Extracting strings from text file

I have a file compile2.txt with the following data in it:


Compile log of application: Information
Version: 1.0    Revision: 940
Compile date/time: 04/02/2013 05:03:16 
Elapsed time: 5.53 seconds
Summary: Total of 917 steps and 127 objects compiled.
         Total errors(0) and warnings(0).

--- End of compile report ---

I need to extract the application, revision and date/time information using a batch file. How can I achieve this? The expected output should be as follows:

Information 940 04/02/2013 05:03:16 
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
@echo off

SETLOCAL EnableDelayedExpansion
for /f "tokens=*" %%a in (compile2.txt) do (
    set linec=%%a
    set linetest=!linec:Compile log of application=!
    IF NOT [!linec!]==[!linetest!] set app=!linec:Compile log of application: =!
    set linetest=!linec: Revision=!
    IF NOT [!linec!]==[!linetest!] set rev=!linec:Version: 1.0    Revision: =!
    set linetest=!linec:Compile date/time: =!
    IF NOT [!linec!]==[!linetest!] set when=!linec:Compile date/time: =!
)
echo !app! - !rev! @ !when!
ENDLOCAL
pause

Run that and see if that gives you what you want


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...