This is version 2 of the FINDSTR function for searching multiple key words and output them into one single line per file
File#1 - CW_TESTDP3_9_13_0925.txt contains below
User: "DanMac"
Date: "Wednesday April 05 2017" Part#: "CW_EVALTCAPDP3_9_13_37"
Time: "09:25:57 AM" Operator: "CALVIN"
Unit; Voltage; Power; Host; Grb1; grn2;
1; 220; 390; 24; 2; 5
2; 234; 340; 64; 11; 15
3; 10; 904; 2443; 211; 115
4; 320; 390; 24; 2; 5
Total_Test_time : 35minutes 40seconds
File#2 - BW_ENGDP3_8_13_232345.txt contains below
User: "Jerry"
Date: "Tuesday April 04 2017" Part#: "BW_EENGDP3_9_13_37"
Time: "10:15:57 AM" Operator: "CALVIN"
Unit; Voltage; Power; Host; Grb1; grn2;
1; 220; 390; 24; 2; 5
2; 234; 340; 64; 11; 15
3; 10; 904; 2443; 211; 115
4; 320; 390; 24; 2; 5
5; 24; 40; 4; 511; 154
6; 103; 4; 2; 21; 125
7; 345; 90; 4; 122; 53
Total_Test_time : 45minutes 4seconds
Expected output
c:\temp\CW_TESTDP3_9_13_0925.txt:User: "DanMac"; Date: "Wednesday April 05 2017"; Time: "09:25:57 AM"; Total_Test_time : 35minutes 40seconds
c:\temp\BW_ENGDP3_8_13_232345.txt:User: "Jerry"; Date: "Tuesday April 04 2017"; Time: "10:15:57 AM"; Total_Test_time : 45minutes 4seconds
@echo off
setlocal EnableDelayedExpansion
cd c:\temp
for /F "tokens=1* delims=:" %%a in ('findstr /I "User Date Time" *.txt') do (
for /F tokens^=1-2delims^=^" %%c in ("%%b") do (
set "file[%%a]=!file[%%a]!%%c"%%d"; "
)
)
for /F "tokens=2 delims=[]" %%a in ('set file[') do echo %%~Fa:!file[%%a]:~0,-4!