115129

WLAN bzw. LAN Verbindungen aktivieren bzw. deaktivieren, alles über eine Batchdatei

Hallo zusammen,

ich bin gerade dabei eine Batch zu erstellen, worüber ich mit einem "Klick" entweder die LAN-Karte oder die WLAN-Karte aktivieren/deaktivieren möchte.

Im Moment habe ich zwei Batchfiles...

...diese zum aktivieren der LAN-Karte inkl. statischer Adresszuweisung und zum deaktivieren der WLAN-Karte:
@echo on
netsh interface set interface "LAN" enable  
netsh interface set interface "WLAN" disable  
netsh interface ip set address name="LAN" static 192.168.10.100 255.255.255.0 192.168.10.50 192.168.10.50  

...diese zum aktivieren der WLAN-Karte inkl. statischer Adresszuweisung und zum deaktivieren der LAN-Karte:
@echo on
netsh interface set interface "WLAN" enable  
netsh interface set interface "LAN" disable  
netsh interface ip set address name="WLAN" static 192.168.10.101 255.255.255.0 192.168.10.50 192.168.10.50  

Wie müsste der Code aussehen um beide Batchfiles in eine zu integrieren?

Für Hilfestellungen wäre ich sehr dankbar.

Gruß,
Blattlaus
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 287275

Url: https://administrator.de/forum/wlan-bzw-lan-verbindungen-aktivieren-bzw-deaktivieren-alles-ueber-eine-batchdatei-287275.html

Ausgedruckt am: 04.05.2025 um 13:05 Uhr

114757
Lösung 114757 02.11.2015, aktualisiert am 04.11.2015 um 15:17:44 Uhr
Goto Top
@echo off
set "IFACE_LAN=LAN"  
set "IFACE_WLAN=WLAN"  
:: Status der LAN-Verbindung überprüfen
for /f "tokens=2 delims=: " %%a in ('netsh int show interface "%IFACE_LAN%" ^| findstr "Verwaltungsstatus"') do set "STATE=%%a"  

if /i "%STATE%" == "Aktiviert" (  
	netsh interface set interface "%IFACE_LAN%" disable  
	netsh interface set interface "%IFACE_WLAN%" enable  
	netsh interface ip set address name="%IFACE_WLAN%" static 192.168.10.101 255.255.255.0 192.168.10.50 192.168.10.50  
) else (
	netsh interface set interface "%IFACE_WLAN%" disable  
	netsh interface set interface "%IFACE_LAN%" enable  
	netsh interface ip set address name="%IFACE_LAN%" static 192.168.10.100 255.255.255.0 192.168.10.50 192.168.10.50  
)
Gruß jodel32
115129
115129 02.11.2015 um 21:42:59 Uhr
Goto Top
Hallo Jodel32,

vielen Dank für deinen Code, allerdings bekomme ich beim testen kurzzeitig ne Meldung (else kann syntaktisch an dieser Stelle nicht verwendet werden - oder so ähnlich).
Das Shellfenster verschwindet schnell trotz @echo on.

Was könnte der Fehler sein?

Gruß,
Blattlaus
114757
114757 03.11.2015 aktualisiert um 08:33:19 Uhr
Goto Top
lag nur an den Kommentaren, sorry.
115129
115129 03.11.2015 um 23:46:40 Uhr
Goto Top
Hallo Jodel,

habe den Code nochmal getestet, bekomme jedoch immernoch die gleiche Meldung:

else kann syntaktisch an dieser Stelle nicht verarbeitet werden

...kurz darauf schließt sich das Fenster.


Code:
@echo off
set "IFACE_LAN=LAN"  
set "IFACE_WLAN=WLAN"  
:: Status der LAN-Verbindung überprüfen
for /f "tokens=2 delims=: " %%a in ('netsh int show interface "%IFACE_LAN" ^| findstr "Verwaltungsstatus"') do set "STATE=%%a"  

if /i "%STATE%" == "Aktiviert" (  
	netsh interface set interface "%IFACE_LAN%" disable  
	netsh interface set interface "%IFACE_WLAN%" enable  
	netsh interface ip set address name="%IFACE_WLAN%" static 192.168.10.101 255.255.255.0 192.168.10.50 192.168.10.50  
) else (
	netsh interface set interface "%IFACE_WLAN%" disable  
	netsh interface set interface "%IFACE_LAN%" enable  
	netsh interface ip set address name="%IFACE_LAN%" static 192.168.10.100 255.255.255.0 192.168.10.50 192.168.10.50  
)

Gruß,
Blattlaus
114757
114757 04.11.2015 aktualisiert um 08:48:58 Uhr
Goto Top
Dir fehlt da das abschließende Prozentzeichen der Variablen in der For-Schleife hinter %IFACE_LAN
115129
115129 04.11.2015 um 15:17:37 Uhr
Goto Top
Einwandfrei, jetzt funktioniert es wie ich es mir vorgestellt hatte.

Vielen Dank face-smile

Gruß,
Blattlaus