本帖最后由 22123 于 2022-11-7 11:44 编辑
- @echo off
- chcp 437>nul
- netsh int ip show subinterfaces
- set /p ip=ipaddress:
- if "%ip%"=="" (set ip=qq.com)
- if %ip%.==. goto:eof
- echo.
-
- set con=
- for /f "tokens=1 delims= " %%a in ('ping %ip% -n 1 ^| find "Reply"') do set con=%%a
- if %con%.==. goto:discon
-
- set min=0
- set max=2000
-
- :test
- call:try %min% %max%
- if %df%.==. (
- if %min%==%package% goto:result
- set min=%package%
- ) else (
- set max=%package%
- )
- goto:test
- goto:eof
-
- :result
- echo.
- echo package: %package%
- set /a mtu=%package% + 28
- echo MTU : %mtu%
- echo.
- pause
- goto:eof
-
- :try
- set /a package=(%1+%2)/2
- echo try : %package% [%1 , %2]
- call:ping %package%
- goto:eof
-
- goto:eof
- :ping
- set df=
- for /f "tokens=1 delims= " %%a in ('ping %ip% -f -l %1 -n 1 ^| find "DF"') do set df=%%a
- goto:eof
-
- :discon
- echo Error: can not connect to %ip%
- echo.
- pause
复制代码 有两个问题请教各位大大 ,一个是 如何将得到的最佳 MTU数值 自动添加到%MTU%
这行加在哪里? netsh int ip set subinterface "以太网" mtu=%MTU% store=persistent
还有个问题是 这段代码只能在 chcp 437 下运行,改chcp 936 可以识别中文 但运行不能继续执行....... 本代码也不能保存为ANSI, 导致不能识别 中文 以太网 这几个字,就不能自动修改mtu了 |