peterpann

Per Batch ab einer bestimmten Stelle in einer .txt auslesen

Hallo!

Folgendes Problem: Ich habe ein anmelde und abmelde Skript... die wie folgt aussehen:

echo Anmeldung >> log.txt
echo Benutzer=%username% >> log.txt
echo Computer=%computername% >> log.txt
echo Datum=%date% >> log.txt
echo Zeit=%time% >> log.txt
set /a start=%time:~0,2%*3600+%time:~3,2%*60+%time:~6,2% >> log.txt
echo Start: %start% >> log.txt
echo - - - - - - - - - - - - - - - >> log.txt
end 

echo Abmeldung >> log.txt
echo Benutzer=%username% >> log.txt
echo Computer=%computername% >> log.txt
echo Datum=%date% >> log.txt
echo Zeit=%time% >> log.txt
set /a ende=%time:~0,2%*3600+%time:~3,2%*60+%time:~6,2%  >> log.txt
echo Ende: %ende% >> log.txt
echo - - - - - - - - - - - - - - - >> log.txt
end 

die logdatei die daraus resultiert ist folgende:

Anmeldung
Benutzer=Pc
Computer=MONIKA
Datum=24.06.2016
Zeit=15:12:01,55
Start:54721
- - - - - - - - - - - - - - -
Abmeldung
Benutzer=Pc
Computer=MONIKA
Datum=24.06.2016
Zeit=15:12:04,87
Ende:54724
- - - - - - - - - - - - - - -

Nun möchte ich per skript die sekundenzeiten auslesen um damit zu rechnen ... mein lösungsansatz:

echo vor >> auswertung.txt
for /f %%i in ('findstr /i /c:"Start: " "C:\Users\Pc\Documents\Uni\Semester6\Projektmanagment\Test\log.txt"') do set "ln=%%i"  
echo %ln:~1,9% >> auswertung.txt
echo %ln%  >> auswertung.txt
echo nach >> auswertung.txt
cmd

Nur leider gibt er mir nicht die Zahl aus auf die es ankommt... sondern nur das gesuchte Schlüsselwort ^^
Wäre super wenn mir jemand helfen könnte ... Danke im Vorraus ... Grüße
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 308122

Url: https://administrator.de/forum/per-batch-ab-einer-bestimmten-stelle-in-einer-txt-auslesen-308122.html

Ausgedruckt am: 25.04.2025 um 10:04 Uhr

129813
129813 24.06.2016 aktualisiert um 18:58:56 Uhr
Goto Top
Hi.
@echo off
for /f "tokens=2 delims=:" %%i in ('findstr /i /c:"Start:" "C:\Users\Pc\Documents\Uni\Semester6\Projektmanagment\Test\log.txt"') do set "IN=%%i"  
echo %IN%
pause
Regards