ralfkausk
Goto Top

CMD: Suchen, Ersetzen und Hochzählen

Hallo zusammen

Ich habe folgendes Problem
In einer Datei muss ein Wert gefunden, auf Korrektheit geprüft und evtl. ersetzt/geändert werden.

Die Datei enthält folgenden Inhalt:
[FTP]
file_zaehler=17
sende_stauts=TRUE

Der Wert hinter "file_zaehler" muss allerdings immer 4stellig sein und daher, falls wie im Beispiel nur 2stellig vorhanden, mit führenden Nullen aufgefüllt werden.

Es sollte dann am Ende so aussehen
[FTP]
file_zaehler=0017
sende_stauts=TRUE

Fallbeispiele:
7 = 0007
70 = 0070
700 = 0700
7000 = 7000 (keine Änderung)


Lässt sich das irgendwie bewerkstelligen?

Content-ID: 261246

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

Ausgedruckt am: 26.11.2024 um 05:11 Uhr

114757
114757 27.01.2015 aktualisiert um 09:26:21 Uhr
Goto Top
Nutz mal die Suche, das gabs hier schon so oft, zur Abwechslung mal mit Powershell etwa so
$file = 'c:\data.txt'  
$content = gc $file
$num = ([regex]'file_zaehler=(\d*)')::match($content).Groups[1].Value  
[int]$num +=1 ; $num = $num.toString().padLeft(4,'0')  
$content -replace '(file_zaehler=).*',('$1' + $num) | Set-Content $file  
Gruß jodel32
ralfkausk
ralfkausk 27.01.2015 um 09:41:11 Uhr
Goto Top
Hallo jodel32

Grundsätzlich keine schlechte Idee, aber auf dem Zielsystem ist die PS nicht installiert (und darf auch nicht installiert werden).
Die Suche habe ich natürlich auch schon bemüht, aber nix gefunden was für meinen Fall anwendbar wäre 8möglicherweise habe ich falsch gesucht).
114757
Lösung 114757 27.01.2015 aktualisiert um 12:58:38 Uhr
Goto Top
Zur Info wie man mit Batch Zahlen um Nullen ergänzt:
set /a zahl=70
set /a zahl=10000+%zahl%
echo %zahl:~-4%
Damit bekommst du immer eine 4 stellige Zahl mit führenden Nullen ....