soritose
Goto Top

Per batch eine log datei auslesen und betimte zeile ausgeben

hallo

ich versuche seit einigen tagen eine log Datei aus zu lesen und nur ein bestimmte Bereich von einer ziele aus zu geben

FOR /F "tokens=1-7 delims=" %%A IN ('C:\Windows\System32\findstr.exe /E /L /C:"%datei%" D:\Neuer\test.log') DO (
call set "var1=%%A"
call set "var2=%%B"
call set "var3=%%C"
call set "var4=%%D"
call set "var5=%%E"
call set "var6=%%F"
)

er macht nur die 1 ziele der log findet aber 6 zeilen

die log sieht so aus
Datum Urzeit|Name|2name|3name|Datei


und sobald | komme bricht er ab

kann die log auch nicht ändern da das Programm durchgehen lauft

windows ist das os

Content-ID: 227756

Url: https://administrator.de/contentid/227756

Ausgedruckt am: 24.11.2024 um 09:11 Uhr

bastla
bastla 25.01.2014 um 20:30:24 Uhr
Goto Top
Hallo soritose!

Hast Du es schon mit
FOR /F "tokens=1-7 delims=|" %%A IN ('C:\Windows\System32\findstr.exe /E /L /C:"%datei%" D:\Neuer\test.log') DO (
versucht?

BTW: Was soll denn dann weiter passieren, und wie sieht so eine Zeile konkret aus?

Grüße
bastla
Endoro
Endoro 27.01.2014 um 12:09:20 Uhr
Goto Top
Hey,

call set ist unnötig, set genügt. Ohne Delimiter kannst du nur maximal ein Token erhalten:
FOR /F "tokens=1-7 delims=|" %%A IN ('findstr.exe /E /L /C:"%datei%" D:\Neuer\test.log') DO (   
Ganze Sätze und strukturiertes Fragen verbessern Lesbarkeit, Verständnis und fördern die Antwortqualität.
Gruss.
soritose
soritose 12.02.2014 um 23:28:48 Uhr
Goto Top
danke euch beiden

bis jest geht alles nur jest habe ich vollzogenes Problem

nur ist das Problem das er in der log Datei 1 bis 6 zielen hat wo es die klicke Datei ist, nur mit 6 andienen Namen
beispiel
Datum Urzeit|anja|2name|3name|job-15.zib
Datum Urzeit|daniel|2name|3name|job-15.zib
Datum Urzeit|alf|2name|3name|job-15.zib
Datum Urzeit|hants|2name|3name|job-15.zib

bei der suche gibt er nur die lestze suche aus
hants job-15.zib


kann man igen wie in der suche ein 2 variabel eingeben das er nach den genauen Bereich sucht
FOR /F "tokens=1-7 delims=|" %%A IN ('findstr.exe /E /L /C:"%variabel1% %variabel2%" D:\Neuer\test.log') DO (
so get das leider nicht da gibt er mir nur das aus
D:\Neuer\test.log:variabel1
bastla
bastla 12.02.2014 um 23:50:00 Uhr
Goto Top
Hallo soritose!

Das müsste eher so aussehen:
FOR /F "tokens=1-7 delims=|" %%A IN ('findstr.exe /E /L /C:"%variabel1%" /C:"%variabel2%" D:\Neuer\test.log') DO (
Grüße
bastla
soritose
soritose 13.02.2014 um 23:33:48 Uhr
Goto Top
danke bastla

aber leider hilft mir das nicht so richtig

auch mit den 2 variabel gibt er mir 6 zielen aus aber ich kann nur die leste auslesen

gibt es da nicht eine andere Methode
Beispiel ich suche die Datei und er gibt mir alle 3 bis 6 zielen aus wo er die Datei findet und schreib sie in eine neue txt ( alle 4 bis 6 zielen )
dann lasse ich mit der suche den Namen suche und so habe ich die ziele die ich brauche
bastla
bastla 13.02.2014 um 23:40:59 Uhr
Goto Top
Hallo soritose!

Du solltest etwas mehr von Deinem Batch posten - was willst Du denn genau erreichen?

Ansonsten: Nur die passenden Zeilen in eine neue Datei zu schreiben könntest Du etwa so versuchen:
findstr /E /L /C:"%variabel1%" /C:"%variabel2%" D:\Neuer\test.log > D:\Neuer\Neu.txt
Grüße
bastla
Endoro
Endoro 14.02.2014 um 00:29:25 Uhr
Goto Top
Hey, do you speak english?
Biber
Biber 14.02.2014 aktualisiert um 09:38:04 Uhr
Goto Top
[OT] @ soritose
Zitat von @Endoro:

Hey, do you speak english?
... and if so, can you ask Siri or S-Voice to write your next comment?

Many of us are using this feature.

Siri on behalf of Biber
[/OT]
soritose
soritose 14.02.2014 um 10:27:46 Uhr
Goto Top
danke bastla
auf das leichteste kommt man selber nicht
das reicht mir schon

hallo Endoro
nein ich spreche kein Englisch