Guten Morgen, ich suche nach einer einfachen Lösung mit Batch oder VBScript einen Hostnamen (z.B. "test.ddns.org")in die IP aufzulösen, und dann in einer Datei "config.cfg" den String "[HOST]" durch die IP zu ersetzen. für eure Hilfe wäre ich sehr dankbar. MFG
Unter DOS anpingen und die Rückgabe (IP in der 1. Zeile) auswerten.
1 | C:\ping mikrocontroller.net |
2 | |
3 | Pinging mikrocontroller.net [78.46.249.179] with 32 bytes of data: |
4 | Reply from 78.46.249.179: bytes=32 time=66ms TTL=49 |
5 | Reply from 78.46.249.179: bytes=32 time=66ms TTL=49 |
6 | Reply from 78.46.249.179: bytes=32 time=64ms TTL=49 |
7 | Reply from 78.46.249.179: bytes=32 time=65ms TTL=49 |
8 | |
9 | Ping statistics for 78.46.249.179: |
10 | Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), |
11 | Approximate round trip times in milli-seconds: |
12 | Minimum = 64ms, Maximum = 66ms, Average = 65ms |
13 | |
14 | C:\ |
Ja so habe ich mir das auch gedacht, aber das Problem ist ich weiß nicht wie man das Programmiert :D
Gerhard schrieb: > Unter DOS anpingen und die Rückgabe (IP in der 1. Zeile) auswerten. Dann wohl eher nslookup, das ist eigentlich genau dafür da. Also:
1 | nslookup test.ddns.org |
Woern92 schrieb: > ich weiß nicht wie man das Programmiert Windows-Hilfe zu den CMD-Kommandos lesen? Probieren? Ping /? eintippen? find /? eintippen? Ansatz: ping mikrocontroller.net -n 1 |find /i "Bytes=" >>c:\temp\antwort.txt
Manfred schrieb: > ping mikrocontroller.net -n 1 |find /i "Bytes=" >>c:\temp\antwort.txt Beachte, dass die Ausgaben von Windows-Befehlen immer in der Sprache des Windows erfolgen.
S. R. schrieb: > Beachte, dass die Ausgaben von Windows-Befehlen immer in der Sprache des > Windows erfolgen. Gibt's da kein Pendant zu einem "LANG=C" aus der Unix-Welt?
Rolf M. schrieb: > Gibt's da kein Pendant zu einem "LANG=C" aus der Unix-Welt? Mir ist keins bekannt. Man kann allerdings seit Vista (abhängig von der Edition) Sprachpakete nachinstallieren, die (fast) das gesamte System umlokalisieren. Das wäre dann aber pro Nutzer, und ob Tools wie "ping" betroffen sind, weiß ich nicht.
Rolf M. schrieb: > Gibt's da kein Pendant zu einem "LANG=C" aus der Unix-Welt? Ist in den meisten Windows Versionen leider fest einkompiliert. Unter neuestem Windows 10 könnte man sich IMO direkt mit dem Ping aus dem Linux/Ubuntu Substystem behelfen - aber das ist natürlich erst zu installieren.
Jim M. schrieb: > Rolf M. schrieb: >> Gibt's da kein Pendant zu einem "LANG=C" aus der Unix-Welt? > > Ist in den meisten Windows Versionen leider fest einkompiliert. > > Unter neuestem Windows 10 könnte man sich IMO direkt mit dem Ping aus > dem Linux/Ubuntu Substystem behelfen - aber das ist natürlich erst zu > installieren. Ach du mein lieber Schwan ! (pun intended) Da lob ich mir eine verlässlich konforme POSIX-/GNU-Umgebung, zur Not aus cygwin
1 | $ OTHERHOSTIP=$(host test.ddns.org ¦ grep -oP '(?<= has address )[\.\d]+') |
2 | $ sed -i -e 's:\[HOST\]:'"$OTHERHOSTIP"':g' /path/to/config.cfg |
Standard caveats apply, YMMV. Und ja, das geht auch als Einzeiler ohne die Hilfsvariable.
Windows Powershell's Resolve-DnsName mag eine Alternative sein. Allerdings muss man erst mal mit der Windows Powershell Quatsch warm werden.
Jack schrieb: > Windows Powershell's Resolve-DnsName mag eine Alternative sein. > Allerdings muss man erst mal mit der Windows Powershell Quatsch warm > werden. Ja. Wenn man aber erstmal damit warmgeworden ist, dann stellt man sehr schnell fest, dass das Zeug eine bash weit in den Schatten stellt. OO-Programmierung auf der Kommandozeile, ohne kaum überschaubare Quoting-Orgien und ohne völlig abstruse Kontrollstrukturen-Syntax. Das ist definitiv die Zukunft. Bzw.: die Gegenwart, auch unter Linux, denn auch dort wird man jedes nichttriviale Problem heute bevorzugt mit einer OO-Scriptsprache erledigen, wie etwa Perl oder Python. Deren Konzepte entsprechen ziemlich genau dem der MS-PS. Welch' ein Zufall... Nur Ewiggestrige haben den Schuss nicht gehört und hakeln weiter mühsam mit dem historischen Dreck rum...
S. R. schrieb: > Manfred schrieb: >> ping mikrocontroller.net -n 1 |find /i "Bytes=" >>c:\temp\antwort.txt > > Beachte, dass die Ausgaben von Windows-Befehlen immer in der Sprache des > Windows erfolgen. Ist mir bekannt! Und nun rate mal, weshalb ich find nicht auf "Antwort" bzw. "reply" angesetzt habe, sondern auf "Bytes". Dann schauen wir noch, was "/i" bewirkt und freuen uns, dass sowohl "bytes" als auch "Bytes" einen Treffer erzielt. Mein Vorschlag ist nicht als sauber fertige Lösung zu verstehen, ich habe "Ansatz:" drüber geschrieben. Egal, es sollte genügen sich eine Lösung zu erarbeiten.
c-hater schrieb: > Das ist definitiv die Zukunft. Die Zukunft heißt "mobile" und "app" und wird mit Kotlin (derzeit Java) oder Swift (derzeit Objective-C) gemacht. Da geht dann alles automatisch, Alexa sei Dank. Aber ich staune, dass du ein Fanboy bist...
> Wenn man aber erstmal damit warmgeworden ist, dann stellt man sehr > schnell fest, dass das Zeug eine bash weit in den Schatten stellt. > OO-Programmierung auf der Kommandozeile, ohne kaum überschaubare > Quoting-Orgien und ohne völlig abstruse Kontrollstrukturen-Syntax. > > Das ist definitiv die Zukunft. Bzw.: die Gegenwart, auch unter Linux, > denn auch dort wird man jedes nichttriviale Problem heute bevorzugt mit > einer OO-Scriptsprache erledigen, wie etwa Perl oder Python. Deren > Konzepte entsprechen ziemlich genau dem der MS-PS. Welch' ein Zufall... Ich bin prinzipiell ganz bei deinem Gedankengang, inkl. /shell quoting hell/ und sogar beim Schluss dass MS v.A. Gutes zukauft oder abgekupfert. >:-) > Nur Ewiggestrige haben den Schuss nicht gehört und hakeln weiter mühsam > mit dem historischen Dreck rum... Und? Zeig her die Problemlösung nach Deiner Geschmacksrichtung! Hat Dein Kunde/Chef diese bereits operativ auf dem Tisch liegen? Oder überlegt er sich noch ob er Dich überhaupt engagieren soll? Ich bevorzuge auch Python weil ich Perl nicht mag, zitiere hier aber L. Wall: "Get the job done right before you get fired."
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.