hostname mit ping auslesen (sprachunabhängig)
kompletten hostnamen auslesen...
also... ich habe ja schon ein paar infos hier gefunden.... für alle die die sich wundern warum ich hier noch mal die blöde frage stelle... aber! es ist etwas komplizierter...
also wenn ich ping -a IP-Adresse mache bekomme ich:
Ping pr0vieh [127.0.0.1] mit 32 Bytes Daten:
rest lass ich jetzt mal weg...;)
aber da wir verschiedene sprachen haben kann das zum beispiel auch so aussehen:
Haciendo ping a computername.netz [127.0.0.1] con 32 bytes de datos:
so wenn ich jetzt:
ping 127.0.0.1>temp.log
REM übergabe in datei muss sein weil externe cmd...
find "[127.0.0.1]" temp.log >temp2.log
REM zum filtern weil wir ja nur die zeile brauchen wo der hostname drin steht weil durch die externe cmd da noch leerzeilen eingefügt werden vor der ausgabe...
for /f "tokens=2 delims=- " %%i in (temp2.log) do @set hostname=%%i
REM delims "-" gesetzt um die ausgabe "---------- TEMP.LOG" von find rauszubekommen ;)
echo. Der Hostname ist: %hostname%
klappt in der deutchen cmd und in der englischen schon ganz gut aber was ist mit sprachen die mehr "worte" vor dem wert haben :/
kurz gesagt ich brauch den wert der genau vor [127.0.0.1] steht ausgelesen und zwar immer den wert vor [127.0.0.1] genau auf die klammer(n) bezogen... und nicht auf leerzeichen weil wie wir gelernt haben ist die ausgabe in anderen Sprachen auch anders gestaltet....
ich hoffe auch für dieses blöde problem gibt eine lösung...
me ist bestimmt wieder nur zu blöde um sie zusehen bzw. zu finden...
ps: go biber go :D
greets Pr0vieH
also... ich habe ja schon ein paar infos hier gefunden.... für alle die die sich wundern warum ich hier noch mal die blöde frage stelle... aber! es ist etwas komplizierter...
also wenn ich ping -a IP-Adresse mache bekomme ich:
Ping pr0vieh [127.0.0.1] mit 32 Bytes Daten:
rest lass ich jetzt mal weg...;)
aber da wir verschiedene sprachen haben kann das zum beispiel auch so aussehen:
Haciendo ping a computername.netz [127.0.0.1] con 32 bytes de datos:
so wenn ich jetzt:
ping 127.0.0.1>temp.log
REM übergabe in datei muss sein weil externe cmd...
find "[127.0.0.1]" temp.log >temp2.log
REM zum filtern weil wir ja nur die zeile brauchen wo der hostname drin steht weil durch die externe cmd da noch leerzeilen eingefügt werden vor der ausgabe...
for /f "tokens=2 delims=- " %%i in (temp2.log) do @set hostname=%%i
REM delims "-" gesetzt um die ausgabe "---------- TEMP.LOG" von find rauszubekommen ;)
echo. Der Hostname ist: %hostname%
klappt in der deutchen cmd und in der englischen schon ganz gut aber was ist mit sprachen die mehr "worte" vor dem wert haben :/
kurz gesagt ich brauch den wert der genau vor [127.0.0.1] steht ausgelesen und zwar immer den wert vor [127.0.0.1] genau auf die klammer(n) bezogen... und nicht auf leerzeichen weil wie wir gelernt haben ist die ausgabe in anderen Sprachen auch anders gestaltet....
ich hoffe auch für dieses blöde problem gibt eine lösung...
me ist bestimmt wieder nur zu blöde um sie zusehen bzw. zu finden...
ps: go biber go :D
greets Pr0vieH
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 41560
Url: https://administrator.de/contentid/41560
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
4 Kommentare
Neuester Kommentar
Moin Pr0vieH,
am CMD-Prompt:
Im Batch:
dadurch wird jeweils das letzte "Wort" vor dem Zeichen "[" in die Variable "myhostname" übernommen.
Grüße
Biber
am CMD-Prompt:
>for /f "delims=[" %i in ('ping -a localhost^|find "["') do @for %a in (%i) do @Set "myHostname=%a"
Im Batch:
::--- snipp GetHostnameFromPingInternational.bat
@for /f "delims=[" %%i in ('ping -a localhost^|find "["') do @for %%a in (%%i) do @Set "myHostname=%%a"
dadurch wird jeweils das letzte "Wort" vor dem Zeichen "[" in die Variable "myhostname" übernommen.
Grüße
Biber
@Pr0vieH
Also: Gern geschehen!
Schönes Wochenende allen
Biber
ich hoffe meine aufgaben nerven dich nicht all zu sehr
Nein, keineswegs. Und ich finde auch die Frage durchaus sinnvoll und nachvollziehbar.Also: Gern geschehen!
Schönes Wochenende allen
Biber