Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Rechnernamen anhand IP aus HOST Tabelle auslesen

Frage Entwicklung Batch & Shell

Mitglied: yakazaa

yakazaa (Level 1) - Jetzt verbinden

24.09.2012, aktualisiert 09:19 Uhr, 3483 Aufrufe, 7 Kommentare

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:
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 !!!


Mitglied: Lochkartenstanzer
24.09.2012, aktualisiert um 09:37 Uhr
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 ?

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.
Bitte warten ..
Mitglied: bastla
24.09.2012, aktualisiert um 10:25 Uhr
@lks
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"
Grüße
bastla

P.S.: Warum denn in die Ferne schweifen : Tutorial zur FOR-Schleife
Bitte warten ..
Mitglied: Lochkartenstanzer
24.09.2012 um 10:26 Uhr
Zitat von 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
Bitte warten ..
Mitglied: yakazaa
24.09.2012 um 10:34 Uhr
Du bist mein Held - immer wieder !!! :-T
Vielen Dank !!!

2 Fragen habe ich natürlich jetzt:

Wieso "tokens=1*" bzw. genauer: Wieso "1*" ? Was bedeutet das ?

Wieso klappt das ?
In der FOR Schleife sagst du Ihm, er solle %%I setzen, die Variable "Hostname" befüllst du aber am Ende mit %%J
Bitte warten ..
Mitglied: yakazaa
24.09.2012 um 10:35 Uhr
Auch dir vielen Dank für deine Hilfe !!!
Bitte warten ..
Mitglied: bastla
24.09.2012 um 11:20 Uhr
Hallo yakazaa!

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
Bitte warten ..
Mitglied: yakazaa
24.09.2012 um 14:23 Uhr
Kompliziert - aber vielen Dank für deine ausführliche Erläuterung !!!!
Bitte warten ..
Ähnliche Inhalte
Entwicklung
gelöst Powershell IP und Hostname auslesen (3)

Frage von LyonAD zum Thema Entwicklung ...

Router & Routing
gelöst Erreichbare Hosts mit öffentlichen IP-Adressen (2)

Frage von cgicloud zum Thema Router & Routing ...

Backup
gelöst Verstädnissfrage Veeam On-Host und Off-Host Backup (6)

Frage von Philipp711 zum Thema Backup ...

Microsoft Office
gelöst Übertrag in eine andere Tabelle (7)

Frage von charmeur zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

SAN, NAS, DAS
MSA 2050 RAID Konfig (17)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...