IP Adresse mit findstr suchen und evtl. vorhandene Vornullen löschen NT 4.0 Server
Hallo,
mit folgendem Befehl hole ich aus windows nt 4.0 (server) eine IP Adresse aus einer Datei:
for /f %%i in ('findstr "192\..*\..*\.100" c:\test.txt') do set IP=%%i
Bei der Übergabe der Variable %IP% an ftp (ftp %IP%) ist mir aufgefallen, dass z.B. die IP 192.080.080.100 folgendes Ergebnis produziert:
"Host unreachable"
Die gleiche IP ohne Vornullen funktioniert einwandfrei (192.80.80.100).
Unter XP funktioniert das gleiche Szenario einwandfrei (neuere ftp und ping Version).
Irgendeine Idee, wie ich die führenden Nullen mit dem guten alten DOS löschen kann?
Danke für Eure Mühe...
mit folgendem Befehl hole ich aus windows nt 4.0 (server) eine IP Adresse aus einer Datei:
for /f %%i in ('findstr "192\..*\..*\.100" c:\test.txt') do set IP=%%i
Bei der Übergabe der Variable %IP% an ftp (ftp %IP%) ist mir aufgefallen, dass z.B. die IP 192.080.080.100 folgendes Ergebnis produziert:
"Host unreachable"
Die gleiche IP ohne Vornullen funktioniert einwandfrei (192.80.80.100).
Unter XP funktioniert das gleiche Szenario einwandfrei (neuere ftp und ping Version).
Irgendeine Idee, wie ich die führenden Nullen mit dem guten alten DOS löschen kann?
Danke für Eure Mühe...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 35401
Url: https://administrator.de/forum/ip-adresse-mit-findstr-suchen-und-evtl-vorhandene-vornullen-loeschen-nt-4-0-server-35401.html
Ausgedruckt am: 28.04.2025 um 23:04 Uhr
5 Kommentare
Neuester Kommentar
...oder, muss ja kein Editor sein, nimm eins von den Search & Replace-Freewaretools, die hier auch schon im Bereich "Batch & Shell" beim Thema "Suchen und Ersetzen in Textdateien" genannt wurden.
Und lass damit die ".0" durch "." ersetzen.
Da Dir unter NT 4.0 die M$-CMD-Erweiterungen ja nicht zur Verfügung stehen, wäre das die unaufwändiste Möglichkeit.
Frage: Steht Dir denn VBSkript auf dem Server zur Verfügung? Damit wäre es ja auch nur ein Zweizeiler.
gruß
Biber
Und lass damit die ".0" durch "." ersetzen.
Da Dir unter NT 4.0 die M$-CMD-Erweiterungen ja nicht zur Verfügung stehen, wäre das die unaufwändiste Möglichkeit.
Frage: Steht Dir denn VBSkript auf dem Server zur Verfügung? Damit wäre es ja auch nur ein Zweizeiler.
gruß
Biber
Na ja, Franc,
in diesem Fall (ein "Search-and-Replace-Tool" als "Fremdtool") werden die Regel-Aufsteller auf dem Server aber wohl mit sich reden lassen - sonst zeig Ihnen diesen Thread.
Denn die nächst albernere Alternative (wenn auch kein VBS benutzt werden darf) wäre schon, den winzigen IP-String mit seinen max. 15 Zeichen mit einem Monsterwerkzeiug wie Excel o.ä. zu bearbeiten - weil da ein paar SubStr() oder StrReplace()-Makros enthalten sind.
Der NT-Command-Interpreter bietet jedenfalls NICHTS Brauchbares zur Stringmanipulation.
Ist leider so.
Grüße
Biber
in diesem Fall (ein "Search-and-Replace-Tool" als "Fremdtool") werden die Regel-Aufsteller auf dem Server aber wohl mit sich reden lassen - sonst zeig Ihnen diesen Thread.
Denn die nächst albernere Alternative (wenn auch kein VBS benutzt werden darf) wäre schon, den winzigen IP-String mit seinen max. 15 Zeichen mit einem Monsterwerkzeiug wie Excel o.ä. zu bearbeiten - weil da ein paar SubStr() oder StrReplace()-Makros enthalten sind.
Der NT-Command-Interpreter bietet jedenfalls NICHTS Brauchbares zur Stringmanipulation.
Ist leider so.
Grüße
Biber
Moin franc1967,
habe gerade beim Durchsehen der noch offenen Beiträge gelesen, dass wir ja gar nicht mehr von Win98 oder ME reden...
Bei Dir müsste doh auch schon das Ersetzen von Teilstrings in Variablen Bestandteil des ausgelieferten CMD-Interpreters sein, oder irre ich mich damit?
Dann ginge es doch genau wie heute mit folgendem Beispiel
Oder hast Du gar schon eine andere Lösung?
Gruß
Bber
habe gerade beim Durchsehen der noch offenen Beiträge gelesen, dass wir ja gar nicht mehr von Win98 oder ME reden...
Bei Dir müsste doh auch schon das Ersetzen von Teilstrings in Variablen Bestandteil des ausgelieferten CMD-Interpreters sein, oder irre ich mich damit?
Dann ginge es doch genau wie heute mit folgendem Beispiel
(=18:52:42 D:\temp=)
>set thisIP=100.010.020.030
(=20:38:08 D:\temp=)
>echo %thisIP% %thisIP:.0=.%
100.010.020.030 100.10.20.30
Oder hast Du gar schon eine andere Lösung?
Gruß
Bber