
78505
12.05.2009, aktualisiert am 13.05.2009
msdos findstr Wenn Zeile gefunden ab der 10 Spalte bis zur 20 Spalte Ergebnis ausgeben
Vielleicht weiß einer die Lösung!
Dankeschön erstmal für euere Antworten!!! Vielleicht kann ich dir das genauer erklären was ich vor habe!!!
Die Datei Serial.txt sieht folgendermaßen aus z.B.
SGP 130509075103213700000000
SGP 130509074103213900000000
SGP 130509076103213300000000
SGP 130509072103213200000000
SGP 130509077103213100000000
Mit dem Befehl "findstr" soll die jeweilige Batch alle Zeilen mit den Anfangsbuchstaben "SGP" heraussuchen wenn eine Zeile gefunden wurde soll er nur ab der 10 Spalte jeweils bis zur 20 Spalte die Werte heraugeben und diese in eine txt-Datei "test.txt" schreiben.
Ergebnis der test.txt:
0751032137
0741032139
0761032133
0721032132
0771032131
Die nächste Problematik dies sich stellt zwischen SGP und 13...... befindet sich ein Zwischenraum bzw. Leertaste.
Wie sieht nun das Script genau aus????!!!!????
Vielleicht weiß einer die genaue Lösung der Problematik.
Ich würde mich über paar Lösungsansätze nochmals freuen.
Dankeschön erstmal für euere Antworten!!! Vielleicht kann ich dir das genauer erklären was ich vor habe!!!
Die Datei Serial.txt sieht folgendermaßen aus z.B.
SGP 130509075103213700000000
SGP 130509074103213900000000
SGP 130509076103213300000000
SGP 130509072103213200000000
SGP 130509077103213100000000
Mit dem Befehl "findstr" soll die jeweilige Batch alle Zeilen mit den Anfangsbuchstaben "SGP" heraussuchen wenn eine Zeile gefunden wurde soll er nur ab der 10 Spalte jeweils bis zur 20 Spalte die Werte heraugeben und diese in eine txt-Datei "test.txt" schreiben.
Ergebnis der test.txt:
0751032137
0741032139
0761032133
0721032132
0771032131
Die nächste Problematik dies sich stellt zwischen SGP und 13...... befindet sich ein Zwischenraum bzw. Leertaste.
Wie sieht nun das Script genau aus????!!!!????
Vielleicht weiß einer die genaue Lösung der Problematik.
Ich würde mich über paar Lösungsansätze nochmals freuen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 115893
Url: https://administrator.de/forum/msdos-findstr-wenn-zeile-gefunden-ab-der-10-spalte-bis-zur-20-spalte-ergebnis-ausgeben-115893.html
Ausgedruckt am: 29.04.2025 um 04:04 Uhr
4 Kommentare
Neuester Kommentar
Auch Dir ein freundliches "Hallo", atb2010!
Falls Du ev doch "CMD-findstr" verwendest (und die durchsuchte Datei nicht vor Sonderzeichen strotzt) , sollte sich das so lösen lassen:
Grüße
bastla
[Edit] Anführungszeichen in Zeile 2 korrigiert [/Edit]
Falls Du ev doch "CMD-findstr" verwendest (und die durchsuchte Datei nicht vor Sonderzeichen strotzt) , sollte sich das so lösen lassen:
@echo off & setlocal
for /f "delims=" %%i in ('findstr /c:"?????????" C:\Test.txt') do set "Zeile=%%i" & call :ProcessLine
goto :eof
:ProcessLine
echo %Zeile:~9,11%
goto :eof
bastla
[Edit] Anführungszeichen in Zeile 2 korrigiert [/Edit]
Moin atb2010,
<OT>
willkommen im Forum und danke für Deine Freundlichkeit.
Nur aus Neugier - gibt es irgendeinen kausalen Zusammenhang zwischen "msdos", der Verwendung von FindStr.exe und dem Anzeigenwollen eines Substrings einer Zeile???
Oder wolltest Du einfach ein bisschen mit uns rumalbern?
Könnte sein... ich glaube, diese Woche ist ein ganzer Bus gekommen...
</OT>
Grüße
Biber
<OT>
willkommen im Forum und danke für Deine Freundlichkeit.
Nur aus Neugier - gibt es irgendeinen kausalen Zusammenhang zwischen "msdos", der Verwendung von FindStr.exe und dem Anzeigenwollen eines Substrings einer Zeile???
Oder wolltest Du einfach ein bisschen mit uns rumalbern?
Könnte sein... ich glaube, diese Woche ist ein ganzer Bus gekommen...
</OT>
Grüße
Biber

/snip
Oder wolltest Du einfach ein bisschen mit uns rumalbern?
Könnte sein... ich glaube, diese Woche ist ein ganzer Bus
gekommen...
</OT>
/snap
[OT]
Ich glaube, Biber hatte recht - nachdem heute der Inhalt von ATB2010s Zwischenablage grade nochmal in einem neuen Thread aufgetaucht ist und ich Ihn darauf hingewiesen habe, er möge sich doch mal "hier" melden" anstatt Doppelposting zu schreiben ....
Grüße
Biber
zurück, wobei ich es immer wieder interessant und lehrreich finde, wie Bastla an Probleme ran geht
ich hätts leicht anders gemacht
Oder wolltest Du einfach ein bisschen mit uns rumalbern?
Könnte sein... ich glaube, diese Woche ist ein ganzer Bus
gekommen...
</OT>
[OT]
Ich glaube, Biber hatte recht - nachdem heute der Inhalt von ATB2010s Zwischenablage grade nochmal in einem neuen Thread aufgetaucht ist und ich Ihn darauf hingewiesen habe, er möge sich doch mal "hier" melden" anstatt Doppelposting zu schreiben ....
- war der neue Beitrag zuerst als gelöst markiert
- und dann im Nirvana verschwunden
- Aber kein feedbäck hier..
Grüße
Biber
@timobeil

@78505
Nach Deinem (inzwischen ergänzten) Beispiel wären es 10 Zeichen ab Position 11 - dann etwa so:
Grüße
bastla
ich hätts leicht anders gemacht
Wenn Du damit meinst, Du hättest das Anführungszeichen in Zeile 2 ev doch erst nach dem "set" platziert, bin ich mittlerweile bei Dir ... @78505
Nach Deinem (inzwischen ergänzten) Beispiel wären es 10 Zeichen ab Position 11 - dann etwa so:
@echo off & setlocal
set "Ein=D:\Sehrreal.txt"
set "Aus=D:\Test.txt"
if exist "%Aus%" del "%Aus%"
for /f "delims=" %%i in ('findstr /b "SGP" "%Ein%"') do set "Zeile=%%i" & call :ProcessLine
goto :eof
:ProcessLine
>>"%Aus%" echo %Zeile:~10,10%
goto :eof
Grüße
bastla