Nick
Nick

Reputation: 93

How to output certain lines from a batch script result to a file

I want to only output certain lines from a command result into another file.
This is my script

@echo off
del "C:\Users\admin\Desktop\script1results.txt"

cd C:\Users\ndujakov\DIG
for /f %%a in (C:\Users\admin\Desktop\script1inputs.txt) do (
dig %%a >> C:\Users\admin\Desktop\script1results.txt
) 

Here are the results and what I want to specifically output

; <<>> DiG 9.10.6-P1 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6710
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.            IN  A

;; ANSWER SECTION:
google.com.     248 IN  A   172.217.160.206    <---This one

;; Query time: 1 msec                          <---This one
;; SERVER: 10.231.0.106#53(10.231.0.106)
;; WHEN: Fri Feb 02 08:25:55 Pacific Standard Time 2018
;; MSG SIZE  rcvd: 55

Upvotes: 1

Views: 1028

Answers (1)

Hackoo
Hackoo

Reputation: 18837

You can get started with this batch file to filter your results :

@echo off
set "Inputfile=result.txt"
set "TmpFile=%Tmp%\%random%.txt"
set "OutPutFile=FilterResult.txt"
(FindStr /IR /C:"[0-9].[0-9].[0-9].[0-9]" /C:"msec" "%inputfile%")>"%TmpFile%"
(Findstr /IV "server" "%TmpFile%")>"%OutPutFile%"
Start "" "%OutPutFile%" & del "%TmpFile%"

Further Reading

Upvotes: 1

Related Questions