Per Script eine bestimmte Zeichenkette auslesen und in Variable umbauen
Hallo Zusammen,
mein erster Post hier. Ich hoffe man kann mir helfen.
Kurz zusammengefasst: Obwohl ich eigentlich kein Scripter bin, habe ich vor einigen Jahren mal ein kleines gebastelt, welches seit dem einem Freund den Arbeitsalltag erleichtert. Dieses Script ließt aus einer Textdatei in der 7 Zeile die letzten 5 Stellen aus und überträgt diese in eine Variable, die dann wiederrum an den Aufruf eines Progs angehängt wird. Gelöst habe ich das so:
Das Ganze funktionierte jahrelang super, bis die Zahl 6stellig wurde, und (nach genauer Betrachtung) auffieh, dass es auch 1,2,3 und 4 stellige Nummern gibt. Also funktioniert die Syntax "nimm die letzten 5 Stellen" nicht mehr.
Die 7te Zeile der Textdatei ist so aufgebaut:
xyz3000a (wobei a die wichtige Zahl ist und 1-6stellig sein kann)
Meine Idee war also, nach dem erstmaligen auftauchen von 3000 zu suchen und alles dahinter zu nehmen. Leider fehlt mir dafür der Sachverstand. Darum wäre ich über jede Hilfe sehr froh. Irgend jemand eine Idee?
Schon Mal besten Dank
McMortar
mein erster Post hier. Ich hoffe man kann mir helfen.
Kurz zusammengefasst: Obwohl ich eigentlich kein Scripter bin, habe ich vor einigen Jahren mal ein kleines gebastelt, welches seit dem einem Freund den Arbeitsalltag erleichtert. Dieses Script ließt aus einer Textdatei in der 7 Zeile die letzten 5 Stellen aus und überträgt diese in eine Variable, die dann wiederrum an den Aufruf eines Progs angehängt wird. Gelöst habe ich das so:
set LineNo=7
set "line="
set /a LineNo-=1
for /f %%a in ('more/e +%LineNo% ^< //PFAD\DATEI.txt//') do (
if not defined line set "line=%%a"
)
set "endline=%line:~-5,5%"
echo %line%
echo %endline%
//PFAD\PROGRAMM.exe// -%endline%
Das Ganze funktionierte jahrelang super, bis die Zahl 6stellig wurde, und (nach genauer Betrachtung) auffieh, dass es auch 1,2,3 und 4 stellige Nummern gibt. Also funktioniert die Syntax "nimm die letzten 5 Stellen" nicht mehr.
Die 7te Zeile der Textdatei ist so aufgebaut:
xyz3000a (wobei a die wichtige Zahl ist und 1-6stellig sein kann)
Meine Idee war also, nach dem erstmaligen auftauchen von 3000 zu suchen und alles dahinter zu nehmen. Leider fehlt mir dafür der Sachverstand. Darum wäre ich über jede Hilfe sehr froh. Irgend jemand eine Idee?
Schon Mal besten Dank
McMortar
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 488966
Url: https://administrator.de/forum/per-script-eine-bestimmte-zeichenkette-auslesen-und-in-variable-umbauen-488966.html
Ausgedruckt am: 10.05.2025 um 09:05 Uhr
2 Kommentare
Neuester Kommentar

@echo off
set "datei=\\Pfad\datei.txt"
for /f "delims=" %%a in ('powershell -Executionpolicy Bypass -NoP -C "[regex]::match((gc '%datei%')[6],'3000(\d{1,6})').Groups[1].Value"') do set "num=%%a"
"\\Pfad\Programm.exe" -%num%