Batch Datei in AutoIt umwandeln

  • Guten Morgen Liebe AutoIT-Community,

    Ich stehe vor dem Problem, dass ich diese Batch-Datei

    Code
    netsh interface ip set address name="LAN-Verbindung" source=dhcp 
    netsh interface ip set address name="LAN-Verbindung" source=static addr=192.168.178.111 mask=255.255.255.0 
    netsh interface ip add address "LAN-Verbindung" 192.180.1.111 255.255.0.0 
    netsh interface ip add address "LAN-Verbindung" 192.179.1.111 255.255.0.0

    gerne so umschreiben würde, dass sie nur in Autoit läuft (also kein *.bat aufruf per Autoit)

    Sinn der Datei:
    1. Umstellen auf DHCP um alle eingestellten IPs zu löschen
    2. Festlegen von 3 IPs für eine Netzwerkkarte (es sind Beispiel-IPs)

    Später möchte ich "111" durch eine Benutzereingabe ersetzen, aber das werd ich dann denke ich selber hinbekommen.
    Ich hab nur etwas Probleme die 2. und 3. IP im AutoIt hinzuzufügen.

    Vielen Dank für Eure Hilfe :)

    Einmal editiert, zuletzt von phil_1989 (23. Juli 2012 um 15:31)

  • also, es gibt keine funktion um so etwas zu machen, aber man kann es ja auch anders machen :)

    [autoit]

    RunWait(@ComSpec & " /c " & 'netsh interface ip set address name="LAN-Verbindung" source=dhcp', "", @SW_HIDE)
    RunWait(@ComSpec & " /c " & 'netsh interface ip set address name="LAN-Verbindung" source=static addr=192.168.178.111 mask=255.255.255.0', "", @SW_HIDE)
    RunWait(@ComSpec & " /c " & 'netsh interface ip add address "LAN-Verbindung" 192.180.1.111 255.255.0.0', "", @SW_HIDE)
    RunWait(@ComSpec & " /c " & 'netsh interface ip add address "LAN-Verbindung" 192.179.1.111 255.255.0.0', "", @SW_HIDE)

    [/autoit]


    (ungetestet) das führt deine befehle einfach über die Konsole aus ;)
    alternativ könnte man auch direkt die netsh.exe im system32 ordner ansprechen, aber ich kenn die parameter dafür nicht^^

    mfg

  • Wunderbar, klappt einwandfrei :)

    Ein Problem habe ich jetzt noch. Ich beschreibe über eine Benutzereingabe die Variable "$text" mit einem Wert zwischen 1 und 255 der bei "xxx" eingefügt wird.

    Code
    RunWait(@ComSpec & " /c " & 'netsh interface ip set address name="LAN-Verbindung" source=static addr=192.168.178.xxx mask=255.255.255.0', "", @SW_HIDE)

    So funktioniert das aber nicht. Was ist da falsch? Ich denke er interpretiert die Variable als reinen Text, nur wie änder ich das? Bin noch zu neu in Autoit.

    Code
    RunWait(@ComSpec & " /c " & 'netsh interface ip set address name="LAN-Verbindung" source=static addr=192.168.178.$text mask=255.255.255.0', "", @SW_HIDE)

    Vielen Dank für die Hilfe!

  • das geht ganz einfach :)

    [autoit]


    RunWait(@ComSpec & " /c " & 'netsh interface ip set address name="LAN-Verbindung" source=static addr=192.168.178.' & $text & ' mask=255.255.255.0', "", @SW_HIDE)

    [/autoit]

    mfg