flotila Geschrieben 19. Februar 2008 Geschrieben 19. Februar 2008 Hi @ all, ich möchte meine lokale IP, die mir von einem DHCP-Server zugewiesen wird, durch das Ausführen einer Batchdatei ändern. Die Datei sollte folgende Befehle beinhalten: ipconfig -release ipconfig -flushdns ipconfig -registerdns ipconfig -renew Nach dem die Befehle abgearbeitet wurden, sollte auf C: eine *.log erstellt werden, in der die neue IP und der Zeitpunkt der Änderung angezeigt wird. Außerdem soll in der Logdatei stehen, ob die Batchdatei erfolgreich ausgeführt wurde. Leider kann ich soetwas selber nicht realisieren, da ich davon keine Ahnung habe Kann mir bitte jmd weiterhelfen? Vielen Dank! Grüße, Flo Zitieren
Crash2001 Geschrieben 19. Februar 2008 Geschrieben 19. Februar 2008 Um zu sehen, ob die Befehle erfolgreich waren, könntest du einfach eine Errorlevel-Abfrage machen und per goto-Anweisung dann einen Text ausgeben lassen. Beispiel: @echo off ipconfig -release if errorlevel 1 goto failed ipconfig -flushdns if errorlevel 1 goto failed ipconfig -registerdns if errorlevel 1 goto failed ipconfig -renew if errorlevel 1 goto failed goto geladen :geladen echo IP erfolgreich geändert goto logging :failed echo Erneuerung der IP fehlgeschlagen. goto end :logging date >> logdatei.txt time >> logdatei.txt echo IP wurde erfolgreich geändert >> logdatei.txt ipconfig /all >> logdatei.txt :end [edit] Zeit und Datum, sowie @echo off noch hinzugefügt [/edit] Zitieren
flotila Geschrieben 19. Februar 2008 Autor Geschrieben 19. Februar 2008 Alles klar, danke dir! Allerdings schreibt er in die DOS Box nach jedem ausgeführten Befehl "if errorlevel 1 goto failed" Kann man noch irgendwie umgehen? Zitieren
wolle- Geschrieben 19. Februar 2008 Geschrieben 19. Februar 2008 ja ganz oben an den Anfang: @echo off Das sollte helfen! Zitieren
Crash2001 Geschrieben 19. Februar 2008 Geschrieben 19. Februar 2008 Ooh stimmt, das hatte ich noch vergessen mit dem @echo off. Zitieren
flotila Geschrieben 19. Februar 2008 Autor Geschrieben 19. Februar 2008 Super, danke =) Jetzt kann ich endlich die Datei jedesmal ausführen, sobald das Intranet und Internet nicht mehr gehen^^ Allerdings hab ich da noch ein Problemchen: Er überschreibt den Inhalt in der *.log nicht sondern setzt jedes mal die neue Konfiguration hinzu. Kann ich das auch noch ändern? // Edit: Und kann ich die Box noch ein paar Sekunden länger anzeigen lassen? Die schließt sich nämlich gleich nach dem letzten Befehl... und die Aussage "IP erfolgreich geändert" erscheint erst immer dann, wenn die Batchdatei nochmal ausgeführt wurde... Zitieren
Crash2001 Geschrieben 19. Februar 2008 Geschrieben 19. Februar 2008 Ja, alles kein Problem. @echo off ipconfig -release if errorlevel 1 goto failed ipconfig -flushdns if errorlevel 1 goto failed ipconfig -registerdns if errorlevel 1 goto failed ipconfig -renew if errorlevel 1 goto failed goto geladen :geladen echo IP erfolgreich geändert goto logging :failed echo Erneuerung der IP fehlgeschlagen. goto end :logging date > logdatei.txt time >> logdatei.txt echo IP wurde erfolgreich geändert >> logdatei.txt ipconfig /all >> logdatei.txt :end pause Es wird nach Ausführen des Scripts darauf gewartet, dass eine taste betätigt wird. Alternativ kann man auch zu dem einfachen Ping-Trick greifen ping -n 5 localhost > nul Dies, statt pause eingesetzt, führt dazu, dass eine 5sekündige Pause eingelegt wird, bevor das Fenster sich schliesst. Zumindest falls keine Defaultwerte des Ping-Kommandos verändert wurden. Die Zeit kann beliebig verändert werden. Zitieren
Enno Geschrieben 19. Februar 2008 Geschrieben 19. Februar 2008 @echo off ipconfig -release if errorlevel 1 goto failed ipconfig -flushdns if errorlevel 1 goto failed ipconfig -registerdns if errorlevel 1 goto failed ipconfig -renew if errorlevel 1 goto failed goto geladen :geladen echo IP erfolgreich geändert goto logging :failed echo Erneuerung der IP fehlgeschlagen. goto end :logging date > logdatei.txt time >> logdatei.txt echo IP wurde erfolgreich geändert >> logdatei.txt ipconfig /all > logdatei.txt :end pause >> hängt an eine Datei an > löscht alles in der Datei pause, wartet halt solange bis du nochmal eine taste drückst. oder hinten: notepad logdatei.txt anstatt pause, dann geht einfach die logdatei auf. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.