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
Share on Facebook
Share on X (Twitter)
Share on Reddit
Share on Linkedin

Content-ID: 287275

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

Printed on: July 18, 2025 at 05:07 o'clock

114757
Solution 114757 Nov 02, 2015, updated at Nov 04, 2015 at 14:17:44 (UTC)
@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 Nov 02, 2015 at 20:42:59 (UTC)
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 Nov 03, 2015 updated at 07:33:19 (UTC)
lag nur an den Kommentaren, sorry.
115129
115129 Nov 03, 2015 at 22:46:40 (UTC)
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 Nov 04, 2015 updated at 07:48:58 (UTC)
Dir fehlt da das abschließende Prozentzeichen der Variablen in der For-Schleife hinter %IFACE_LAN
115129
115129 Nov 04, 2015 at 14:17:37 (UTC)
Einwandfrei, jetzt funktioniert es wie ich es mir vorgestellt hatte.

Vielen Dank face-smile

Gruß,
Blattlaus