115129
Goto Top

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

Content-Key: 287275

Url: https://administrator.de/contentid/287275

Ausgedruckt am: 19.03.2024 um 11:03 Uhr

Mitglied: 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
Mitglied: 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
Mitglied: 114757
114757 03.11.2015 aktualisiert um 08:33:19 Uhr
Goto Top
lag nur an den Kommentaren, sorry.
Mitglied: 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
Mitglied: 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
Mitglied: 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