返回列表 发帖
ip地址-自动获取
  1. @echo off & setlocal enabledelayedexpansion
  2. echo 代码开始
  3. echo 65001编码获取: > nul
  4. chcp 65001 >nul
  5. for /f "delims=" %%a in ('netsh interface show interface^|more +3') do (
  6.     set "str=%%a"
  7.     for /f "tokens=*" %%b in ("!str:~46!") do set interfaceName=%%b
  8. )
  9. rem 代码保存为ansi编码的bat文件--显示乱码
  10. rem 代码保存为编码utf-8编码的bat文件--正常
  11. echo,网卡名称: "%interfaceName%"
  12. pause & cls
  13. chcp 936 > nul
  14. echo 936编码输出: > nul
  15. rem 代码保存为ansi编码的bat文件---正常
  16. rem 代码保存为编码utf-8编码的bat文件--显示乱码
  17. echo,网卡名称: "%interfaceName%"
  18. pause & cls
  19. set "macname=%interfaceName%"
  20. netsh int ip set dns "%macname%" dhcp >nul
  21. netsh int ip set address name="%macname%" source=dhcp
  22. netsh interface ip set wins name="%macname%" source=dhcp
  23. ipconfig /renew & cls & ipconfig /flushdns & cls
  24. echo 设置成功。& 1pause & cls & exit /b
复制代码

TOP

ip地址-固定修改为(192.168.8.20)
  1. @echo off
  2. title IP设置
  3. mode con lines=7 cols=50
  4. setlocal enabledelayedexpansion
  5. color a
  6. set ip=192.168.8.20
  7. set mask=255.255.255.128
  8. set "gateway=192.168.8.1"
  9. set  "DNS1= "
  10. set  "DNS2= "
  11. set isIP=false
  12. set "online="
  13. set "tips="
  14. set "s="
  15. :input_ip
  16. cls
  17. echo.&echo.
  18. call :check_ip
  19. if "%isIP%" == "false" cls &echo.&echo.&echo.&echo %s%%s%IP地址格式不正确,按任意键返回重新输入! & pause >nul & goto input_ip
  20. for /f "delims=" %%i in ('ipconfig^|find "以太网"') do (
  21.   set name=%%i
  22.   set name=!name:~7,-1!
  23.   for /f "delims=" %%i in ('netsh interface show interface "!name!" ^| find "已连接"') do set "online=!online! ^"!name!^""
  24. )
  25. for %%i in (!online!) do (
  26.   set /a c+=1
  27.   set "lan!c!=%%i"
  28. )
  29. if !c! == 1 call :set_ip !lan1! & goto :eof
  30. :choose
  31. set /a c+=5
  32. mode con lines=!c! cols=50
  33. cls
  34. echo.&echo %s%已连网的网卡:
  35. for %%i in (!online!) do (set /a n+=1&echo %s%%s%!n!.%%~i)
  36. echo.
  37. set /p choose=%s%请选择给哪个网卡设置IP地址:
  38. if "%choose%" == "" set "n=" & goto :choose
  39. if not defined lan%choose% set "n=" & goto :choose
  40. call :set_ip !lan%choose%!
  41. :check_ip
  42. if "%ip%" == "" set "isIP=false" & exit /b
  43. for /f "tokens=1-5 delims=." %%i in ("%ip%") do (
  44.   if "%ip:~-1%" == "." set "isIP=false" & exit /b
  45.   if "%%m" neq "" set "isIP=false" & exit /b
  46.   if %%i  leq 0 set "isIP=false" & exit /b
  47.   if %%i  gtr 252 set "isIP=false" & exit /b
  48.   if %%j  leq 0 set "isIP=false" & exit /b
  49.   if %%j  gtr 252 set "isIP=false" & exit /b
  50.   if %%k  leq 0 set "isIP=false" & exit /b
  51.   if %%k gtr 252 set "isIP=false" & exit /b
  52.   if %%l  leq 1 set "isIP=false" & exit /b
  53.   if %%l  gtr 252 set "isIP=false" & exit /b
  54.   set "isIP=true" & exit /b
  55. )
  56. :set_ip
  57. netsh interface ipv4 set address "%~1" static %ip% %mask% %gateway% 1 >nul
  58. netsh interface ipv4 add dns "%~1" %DNS1% index=1 >nul
  59. netsh interface ipv4 add dns "%~1" %DNS2% index=2 >nul
  60. cls&echo.&echo.&echo %s%%s%%s%%s%IP设置完成,按任意键退出! & pause >nul & goto :eof
复制代码

TOP

TOP

回复 13# babboyshi


   代码加 pause判断下是哪里的问题

你是单网卡?主机什么配置?什么系统?

TOP

返回列表