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, 3444 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst IP Adressen aus Hosts Tabelle auslesen (2)

Frage von makroll10 zum Thema Batch & Shell ...

Windows 7
gelöst Bereits eingebundener Drucker - IP Adresse lokal auslesen (17)

Frage von harald.schmidt zum Thema Windows 7 ...

Datenbanken
Spalte in einer SQL-Tabelle auslesen. Werte durch Tab getrennt! (4)

Frage von Janekr77 zum Thema Datenbanken ...

LAN, WAN, Wireless
Gerät über IP auslesen? (7)

Frage von baxxter333 zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows Installation
Eine etwas (wirklich) speziellere Frage: Windows 10-Installation über (11)

Frage von DerFurrer zum Thema Windows Installation ...

Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...

Windows Server
Probleme mit Client Software Zugriff auf Windows Server 2012 (8)

Frage von it-kolli zum Thema Windows Server ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...