From 154c3807d5f3e2c1472b7b1800eccd3755c0427d Mon Sep 17 00:00:00 2001 From: a86913179 Date: Mon, 16 Nov 2020 20:22:09 +0800 Subject: [PATCH 1/2] Fix failure when netadapter's name includes space --- src/helper/win32/config_route.bat | 2 +- src/helper/win32/ensure_tap_device.bat | 4 ++-- src/helper/win32/recover_route.bat | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/helper/win32/config_route.bat b/src/helper/win32/config_route.bat index 0f65ed7..cd456b5 100644 --- a/src/helper/win32/config_route.bat +++ b/src/helper/win32/config_route.bat @@ -1,7 +1,7 @@ set TUN_GW=%1 set DEVICE_NAME=%2 -for /f "skip=3 tokens=4" %%a in ('netsh interface show interface') do ( +for /f "delims=," %%a in ('Getmac /v /nh /fo csv') do ( netsh interface ipv6 set interface %%a routerdiscovery=disabled ) netsh interface ip add route 0.0.0.0/0 %DEVICE_NAME% %TUN_GW% metric=0 store=active diff --git a/src/helper/win32/ensure_tap_device.bat b/src/helper/win32/ensure_tap_device.bat index f7dc86e..71721db 100644 --- a/src/helper/win32/ensure_tap_device.bat +++ b/src/helper/win32/ensure_tap_device.bat @@ -55,7 +55,7 @@ if %errorlevel% neq 0 ( type "%BEFORE_DEVICES%" echo Creating TAP network device... -for /f "tokens=4 delims=[.] " %%i in ('ver') do ( +for /f "tokens=4 delims=. " %%i in ('ver') do ( if %%i==10 %TAP_WINDOWS_PATH%\tap-windows-9.24.2-I601-Win10.exe /S if %%i==6 %TAP_WINDOWS_PATH%\tap-windows-9.24.2-I601-Win7.exe /S ) @@ -154,7 +154,7 @@ netsh interface set interface "%DEVICE_NAME%" admin=enabled :: ) echo Set all adapters metric to auto. -for /f "skip=3 tokens=4" %%a in ('netsh interface show interface') do ( +for /f "delims=," %%a in ('Getmac /v /nh /fo csv') do ( netsh interface ip set interface %%a metric=automatic netsh interface ipv6 set interface %%a metric=automatic ) diff --git a/src/helper/win32/recover_route.bat b/src/helper/win32/recover_route.bat index e41ddc2..cf6f916 100644 --- a/src/helper/win32/recover_route.bat +++ b/src/helper/win32/recover_route.bat @@ -1,6 +1,6 @@ set DEVICE_NAME=%1 -for /f "skip=3 tokens=4" %%a in ('netsh interface show interface') do ( +for /f "delims=," %%a in ('Getmac /v /nh /fo csv') do ( netsh interface ipv6 set interface %%a routerdiscovery=enabled ) netsh interface ip delete route 0.0.0.0/0 %DEVICE_NAME% From a468ac24f6c289921b29a801c2442d66ded7886e Mon Sep 17 00:00:00 2001 From: a86913179 Date: Mon, 16 Nov 2020 20:41:39 +0800 Subject: [PATCH 2/2] Update ensure_tap_device.bat --- src/helper/win32/ensure_tap_device.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helper/win32/ensure_tap_device.bat b/src/helper/win32/ensure_tap_device.bat index 71721db..bbf34f7 100644 --- a/src/helper/win32/ensure_tap_device.bat +++ b/src/helper/win32/ensure_tap_device.bat @@ -55,7 +55,7 @@ if %errorlevel% neq 0 ( type "%BEFORE_DEVICES%" echo Creating TAP network device... -for /f "tokens=4 delims=. " %%i in ('ver') do ( +for /f "skip=1 delims=." %%i in ('wmic os get version') do ( if %%i==10 %TAP_WINDOWS_PATH%\tap-windows-9.24.2-I601-Win10.exe /S if %%i==6 %TAP_WINDOWS_PATH%\tap-windows-9.24.2-I601-Win7.exe /S )