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-Key: 261246

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

Printed on: April 18, 2024 at 01:04 o'clock

Mitglied: 114757
114757 Jan 27, 2015 updated at 08:26:21 (UTC)
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
Member: ralfkausk
ralfkausk Jan 27, 2015 at 08:41:11 (UTC)
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).
Mitglied: 114757
Solution 114757 Jan 27, 2015 updated at 11:58:38 (UTC)
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 ....