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

Printed on: April 19, 2024 at 21:04 o'clock

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

Vielen Dank face-smile

Gruß,
Blattlaus