[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] [分享]单网卡环境,ip地址自动获取,或者固定ip地址的批处理

win系统测试通过。

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
复制代码

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地址-自动获取
  1. @ECHO off
  2. echo 65001编码获取: > nul
  3. chcp 65001 >nul
  4. reg query "HKU\S-1-5-19" >nul 2>&1 || (echo 请右键“以管理员身份运行”&echo.&pause&exit /b 1)
  5. REM 获取联网网卡名称,并重置ip-dns等地址为自动获取
  6. for /f tokens^=2^ delims^=^" %%i in ('netsh interface ip show address') do (set "macname=%%i"
  7. goto:Next)
  8. :Next
  9. chcp 936 > nul
  10. echo 936编码输出: > nul
  11. echo 网卡名称:"%macname%"
  12. pause & cls
  13. netsh int ip set dns "%macname%" dhcp >nul
  14. netsh int ip set address name="%macname%" source=dhcp
  15. netsh interface ip set wins name="%macname%" source=dhcp
  16. ipconfig /renew & cls & ipconfig /flushdns & cls
  17. echo 设置成功。& 1pause & cls & exit /b
复制代码

TOP

ip地址-自动获取
  1. @ECHO off
  2. echo 65001编码获取: > nul
  3. chcp 65001 >nul
  4. :Netsh_Interface_Show_Interface
  5. set "Netsh_N="&&for /f "skip=3 tokens=1-3,* delims= " %%w in ('"Netsh.exe Interface Show Interface"')do set/a "Netsh_N+=1"&&for /f %%n in ('"call echo,%%Netsh_N%%"')do set "Netsh_Connect_%%n=%%w %%x %%y %%z"
  6. for /f "tokens=1,* delims==" %%i in ('set Netsh_Connect_')do for /f "tokens=1-3,* delims= " %%w in ("%%j")do (
  7.   Netsh.exe interface Ip Set Address Name="%%z" Source=dhcp
  8.   Netsh.exe interface Ip Set DnsServers Name="%%z" Source=dhcp
  9. )
  10. pause
  11. ipconfig /renew & cls & ipconfig /flushdns & cls
  12. goto:eof
复制代码

TOP

显示IP-DNS地址等信息。
  1. @ECHO off
  2. REM 显示IP-DNS等配置信息
  3. ipconfig /all|findstr "[0-9]*\.[0-9]*\."
  4. echo    计算机名--------------------------: %computername%
  5. echo ----------------------------------------------------------
  6. echo                                         ↑ 本机网络配置信息
  7. pause
复制代码

TOP

计算机名-手动修改
  1. @echo off
  2. set /p name=输入计算机名,按回车键:
  3. echo %name%
  4. 1pause
  5. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t reg_sz /d %name% /f >nul 2>nul
  6. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName" /t reg_sz /d %name% /f >nul 2>nul
  7. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
  8. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t reg_sz /d %name% /f >nul 2>nul
  9. reg add "HKLM\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName" /v "ComputerName" /t REG_SZ /d "%name%" /f
  10. reg add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d "%name%" /f
  11. reg add "HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "Hostname" /t REG_SZ /d "%name%" /f
  12. reg add "HKLM\SYSTEM\ControlSet002\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%name%" /f
  13. exit
复制代码

TOP

返回列表