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
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:
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.
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."