Ich habe eine Datei mit folgendem Inhalt
Testing:TEST1
--- Import
--- Build
Testing:TEST2
--- Import
--- Build
Testing:TEST3
--- Import
--- Build
Summary: Tests: 3 Failures:1
Ich muss die Zahlen 3 und 1 herausfinden.
Antwort1
Verwenden Sie hierfür Windows >= 2000? Wenn ja, könnten Sie, vorausgesetzt, die Daten befinden sich in einer Datei namens „dump.txt“, versuchen, eine Batchdatei (z. B. „foo.bat“) mit folgendem Code zu erstellen:
@ECHO OFF
FOR /F "tokens=1,3,5 delims=: " %%A IN (dump.txt) DO (
IF "%%A"=="Summary" echo %%B %%C
)
Die Batchdatei (foo.bat) und die Datendatei (dump.txt) müssen sich im selben Ordner befinden.
Antwort2
Ich muss die Zahlen 3 und 1 bekommen
Verwenden Sie den folgenden Batch-Befehl (test.cmd):
@echo off
setlocal
setlocal EnableDelayedExpansion
for /f "tokens=* skip=2" %%i in ('find "Summary" %1') do (
set _line=%%i
for /f "tokens=3,4" %%j in ("!_line!") do (
set _tests=%%j
set _temp=%%k
set _fails=!_temp:~-1!
echo Number of tests: !_tests!
echo Number of fails: !_fails!
)
)
Verwendung:
test File
Wo:
- Datei ist die Datendatei (
%1
)
Beispiel:
F:\test>type test.txt
Testing:TEST1
--- Import
--- Build
Testing:TEST2
--- Import
--- Build
Testing:TEST3
--- Import
--- Build
Summary: Tests: 3 Failures:1
F:\test>test test.txt
Number of tests: 3
Number of fails: 1
Weitere Informationen
- Ein AZ-Index der Windows CMD-Befehlszeile- Ein hervorragendes Nachschlagewerk zu allem, was mit der Windows-Eingabeaufforderung zu tun hat.
- für /f- Befehl mit den Ergebnissen eines anderen Befehls wiederholen.
- Variablen- Extrahieren eines Teils einer Variablen (Teilzeichenfolge)