Rechnernamen anhand IP aus HOST Tabelle auslesen
Hallo zusammen,
ich möchte gerne aus einer HOST Tabelle einen Rechnernamen auslesen, als Suchkriterium dient mir die IP.
Früher wurde mir hier schonmal "andersherum" geholfen:
Ändere ich das Skript nun wie folgt ab, bekomme ich natürlich immernoch die IP:
Danke euch schonmal für eure Antworten !!!
ich möchte gerne aus einer HOST Tabelle einen Rechnernamen auslesen, als Suchkriterium dient mir die IP.
Früher wurde mir hier schonmal "andersherum" geholfen:
FOR /F "" %%I in ('findstr /i "%COMPUTERNAME%$" C:\Windows\System32\drivers\etc\hosts') DO Set IP=%%I
Hier wurde die IP anhand des Computernamens ermittelt.Ändere ich das Skript nun wie folgt ab, bekomme ich natürlich immernoch die IP:
FOR /F "" %%I in ('findstr /i "%TEST_IP%" C:\Windows\System32\drivers\etc\hosts') DO Set IP=%%I
Was muss ich noch ändern ?Danke euch schonmal für eure Antworten !!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 191698
Url: https://administrator.de/contentid/191698
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
7 Kommentare
Neuester Kommentar
Zitat von @yakazaa:
Ändere ich das Skript nun wie folgt ab, bekomme ich natürlich immernoch die IP:
> FOR /F "" %%I in ('findstr /i "%TEST_IP%" C:\Windows\System32\drivers\etc\hosts') DO Set
IP=%%I
Was muss ich noch ändern ?
Ändere ich das Skript nun wie folgt ab, bekomme ich natürlich immernoch die IP:
> FOR /F "" %%I in ('findstr /i "%TEST_IP%" C:\Windows\System32\drivers\etc\hosts') DO Set
IP=%%I
Was muss ich noch ändern ?
Moin,
Ganz einfach: Du mußt den For-Befehl so anpassen, daß er nicht nur die IP-Adresse sondern den namen ausspuckt. Wie? Weiß ich nicht, da ich für sowas grep und awk nehme.
lks
PS: beachte, daß hinter der IP-Adresse mehrere Hostnamen stehen können!
Nachtrag: es sollte mit der Option tokens in den Anführungsstrichen beim FOR funktionieren.
@lks
Grüße
bastla
P.S.: Warum denn in die Ferne schweifen : Tutorial zur FOR-Schleife
Nachtrag: es sollte mit der Option tokens in den Anführungsstrichen beim FOR funktionieren.
... womit Du völlig recht hast:FOR /F "tokens=1*" %%I in ('findstr /i "%TEST_IP%" C:\Windows\System32\drivers\etc\hosts') DO Set "Hostname=%%J"
bastla
P.S.: Warum denn in die Ferne schweifen : Tutorial zur FOR-Schleife
Sorry, war halt der erste treffer in google.
Werde mich bessern.
lks
Hallo yakazaa!
Mit "
Grüße
bastla
Mit "
tokens=1*
" legst Du fest, dass nur nach dem ersten Token (=IP-Adresse) anhand der Standardtrennzeichen Leerzeichen und TAB getrennt werden soll - bei weiteren Trennzeichen in der Zeile (LKS hat ja auf die Möglichkeit mehrerer Einträge verwiesen), würde der Rest der Zeile nicht mehr zerlegt, sondern "am Stück" geliefert - daher befinden sich dann in %%I Token 1 (=IP-Adresse) und in %%J alles, was nach dem ersten Delimiter (=Leerzeichen; mehrere aufeinander folgende Trennzeichen werden als nur eines intrepretiert) noch in der Zeile steht ...Grüße
bastla