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

[网络连接] 关于批处理自动改ip

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. for /l %%i in (3,1,255) do (
  4.      set "aa=%%i"
  5.      ping/n 1 192.168.0.%%i >nul
  6.      if !ERRORLEVEL! equ 1 goto szip
  7. )
  8. goto :eof
  9. :szip
  10. set slection1=
  11. set slection1=192.168.0.!aa!
  12. echo 现在要设置的IP是  %slection1%
  13. PAUSE
  14. cls
  15. netsh interface ip set address name="本地连接" source=static addr=%slection1% mask=255.255.255.0
  16. netsh interface ip set address name="本地连接" gateway=192.168.0.1 gwmetric=0
  17. netsh interface ip set dns name="本地连接" source=static addr=202.102.152.3 register=PRIMARY
  18. netsh interface ip add dns name="本地连接" addr=202.102.154.3
  19. netsh interface ip set wins name="本地连接" source=static addr=none
复制代码
谢谢。。很强的命令。。

不知道可不可以做补充一下。另一种格式。
  1. @ ECHO OFF
  2. @ ECHO.
  3. @ ECHO.                     说  明
  4. @ ECHO -----------------------------------------------------
  5. @ ECHO 此命令将为本本地连接自动更改ip
  6. @ ECHO 192.168.0.3
  7. @ ECHO 255.255.255.0
  8. @ ECHO 192.168.0.1
  9. @ ECHO 202.102.152.3
  10. @ ECHO 202.102.154.3
  11. @ ECHO -----------------------------------------------------
  12. PAUSE
  13. netsh interface ip set address name="本地连接" source=static addr=192.168.0.3 mask=255.255.255.0 [/color]
  14. [color=#006699]netsh interface ip set address name="本地连接" gateway=192.168.0.1 gwmetric=0 [/color]
  15. [color=#006699]netsh interface ip set dns name="本地连接" source=static addr=202.102.152.3 register=PRIMARY [/color]
  16. [color=#006699]netsh interface ip add dns name="本地连接" addr=202.102.154.3[/color]
  17. [color=#006699]netsh interface ip set wins name="本地连接" source=static addr=none
复制代码


打开BAT文件以后,,在里面输入。N.N    N=0-255的数字。

按回车,然后执行
  1. netsh interface ip set address name="本地连接" source=static addr=192.168.N.N
复制代码

这个命令呢?


补充一下。。如果本地连接的名字不叫本地连接怎么办?他有的时候叫本地连接2,有的时候叫本地连接3?甚至还有4 5 6这个要如何修改。作为批处理就是为懒人而做的。如果本地连接改了名字了。还得去网络属性里面查。进去查的话。。在里面直接改也很简单。所以。。想请教各位大侠如何修改
  1. Set Choice=
  2. Set /P Choice=   请选择要进行的操作 (0/1/Q) ,然后按回车:
  3. If "%Choice%"=="" Goto Start
  4. If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
  5. If /I "%Choice%"=="0" Goto HD
  6. If /I "%Choice%"=="1" Goto UD
  7. If /I "%Choice%"=="Q" Exit
  8. Goto Start
复制代码


**************************************************
版务执行:Batcher
执行时间:2008-08-30
操作内容:加code标签
**************************************************


[ 本帖最后由 Batcher 于 2008-8-30 14:14 编辑 ]

@ ECHO OFF
@ ECHO.
@ ECHO.                     说  明
@ ECHO -----------------------------------------------------
@ ECHO 此命令将为本本地连接自动更改ip
@ ECHO 192.168.0.3
@ ECHO 255.255.255.0
@ ECHO 192.168.0.1
@ ECHO 202.102.152.3
@ ECHO 202.102.154.3
@ ECHO -----------------------------------------------------
set n=3&PAUSE

:loop
netsh interface ip set address name="本地连接" source=static addr=192.168.0.%n% mask=255.255.255.0

if errorlevel 1 set/a n+=1&goto loop
netsh interface ip set address name="本地连接" gateway=192.168.0.1 gwmetric=0
netsh interface ip set dns name="本地连接" source=static addr=202.102.152.3 register=PRIMARY
netsh interface ip add dns name="本地连接" addr=202.102.154.3
netsh interface ip set wins name="本地连接" source=static addr=none
心绪平和,眼藏静谧。

TOP

我试试。先谢谢了``

TOP

怎么该不了的 啊 。骗人的 吧

TOP

试试我这个

从192.168.0.3到192.168.0.255逐个IP去PING,如果PING不通的,那说明那个IP还没被占用,那就把PING不通的IP设置为运行该批处理电脑的IP地址,这样在局域网里不用逐台电脑去改IP地址,自动设置,
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. for /l %%i in (3,1,255) do (
  4.      set "aa=%%i"
  5.      ping/n 1 192.168.0.%%i >nul
  6.      if !ERRORLEVEL! equ 1 goto szip
  7. )
  8. goto :eof
  9. :szip
  10. set slection1=
  11. set slection1=192.168.0.!aa!
  12. echo 现在要设置的IP是  %slection1%
  13. PAUSE
  14. cls
  15. netsh interface ip set address name="本地连接" source=static addr=%slection1% mask=255.255.255.0
  16. netsh interface ip set address name="本地连接" gateway=192.168.0.1 gwmetric=0
  17. netsh interface ip set dns name="本地连接" source=static addr=202.102.152.3 register=PRIMARY
  18. netsh interface ip add dns name="本地连接" addr=202.102.154.3
  19. netsh interface ip set wins name="本地连接" source=static addr=none
复制代码

TOP

里面强人很多,学问多多啊

TOP

原帖由 都市浪子666 于 2008-8-3 19:47 发表
试试我这个

从192.168.0.3到192.168.0.255逐个IP去PING,如果PING不通的,那说明那个IP还没被占用,那就把PING不通的IP设置为运行该批处理电脑的IP地址,这样在局域网里不用逐台电脑去改IP地址,自动设置,

@e ...


谢谢。。很强的命令。。

不知道可不可以做补充一下。另一种格式。
  1. @ ECHO OFF
  2. @ ECHO.
  3. @ ECHO.                     说  明
  4. @ ECHO -----------------------------------------------------
  5. @ ECHO 此命令将为本本地连接自动更改ip
  6. @ ECHO 192.168.0.3
  7. @ ECHO 255.255.255.0
  8. @ ECHO 192.168.0.1
  9. @ ECHO 202.102.152.3
  10. @ ECHO 202.102.154.3
  11. @ ECHO -----------------------------------------------------
  12. PAUSE
  13. netsh interface ip set address name="本地连接" source=static addr=192.168.0.3 mask=255.255.255.0
  14. netsh interface ip set address name="本地连接" gateway=192.168.0.1 gwmetric=0
  15. netsh interface ip set dns name="本地连接" source=static addr=202.102.152.3 register=PRIMARY
  16. netsh interface ip add dns name="本地连接" addr=202.102.154.3
  17. netsh interface ip set wins name="本地连接" source=static addr=none
复制代码
打开BAT文件以后,,在里面输入。N.N    N=0-255的数字。

按回车,然后执行

netsh interface ip set address name="本地连接" source=static addr=192.168.N.N

这个命令

ne

TOP

获取本地连接名称,可以搜索注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\

[ 本帖最后由 Batcher 于 2008-8-30 14:21 编辑 ]
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

如果有两个呢?、


有的时候会有一个打X或者有一个被禁用

请教一下。。。如何使用搜索注册表的命令- -!我手动能找到。。用批处理就不会了

照楼上所说的,在network里面有个connection里面有个name就是本地连接的名字。就象我的电脑,里面有5个本地连接。因为本人用虚拟机。每个虚拟机对应一个本地连接。多出来这么多本地连接怎么认?

现在先整最简单的吧。请问。 。。。如何获取本地连接名称。name=?

[ 本帖最后由 反十字 于 2008-8-30 19:39 编辑 ]

TOP

@Echo Off
COLOR 1c
Set Choice=
Set /P Choice=请输入:
If "%Choice%"=="" Goto Start
If Not "%Choice%"=="" Set Choice=%Choice:~0,1%
If /I "%Choice%"=="0" Goto HD
If /I "%Choice%"=="1" Goto UD
If /I "%Choice%"=="Q" Exit










:HD
CLS
setlocal EnableDelayedExpansion
for /l %%i in (3,1,255) do (
     set "aa=%%i"
     ping/n 1 192.168.0.%%i >nul
     if !ERRORLEVEL! equ 1 goto szip
)
goto :eof

:szip
set slection1=
set slection1=192.168.0.!aa!
echo 现在要设置的      IP地址:%slection1%
echo                   子网掩码:255.255.255.0
echo                   默认网关:192.168.0.1
echo                   首选DNS服务器:202.102.152.3
echo                   备用DNS服务器:202.102.154.3
PAUSE
cls
netsh interface ip set address name="本地连接" source=static addr=%slection1% mask=255.255.255.0
netsh interface ip set address name="本地连接" gateway=192.168.0.1 gwmetric=0
netsh interface ip set dns name="本地连接" source=static addr=202.102.152.3 register=PRIMARY
netsh interface ip add dns name="本地连接" addr=202.102.154.3





:UD
CLS
setlocal EnableDelayedExpansion
for /l %%i in (3,1,255) do (
     set "aa=%%i"
     ping/n 1 192.168.1.%%i >nul
     if !ERRORLEVEL! equ 1 goto szip
)
goto :eof

:szip
set slection1=
set slection1=192.168.1.!aa!
echo 现在要设置的      IP地址:%slection1%
echo                   子网掩码:255.255.255.0
echo                   默认网关:192.168.1.1
echo                   首选DNS服务器:202.102.152.3
echo                   备用DNS服务器:202.102.154.3
PAUSE
cls
netsh interface ip set address name="本地连接" source=static addr=%slection1% mask=255.255.255.0
netsh interface ip set address name="本地连接" gateway=192.168.1.1 gwmetric=0
netsh interface ip set dns name="本地连接" source=static addr=202.102.152.3 register=PRIMARY
netsh interface ip add dns name="本地连接" addr=202.102.154.3

TOP

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

@echo off
rem 获取本地连接名称
rem WinXP SP2 EN 测试通过
rem WinXP SP3 CS 测试通过
reg export "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards" "%temp%\MyNet.reg" >nul
for /f "tokens=1 delims=:" %%a in ('type "%temp%\MyNet.reg"^|findstr /n Ethernet') do (
  set "DstRow=%%a"
  goto :next
)
goto :eof
:next
set /a SkpRow=DstRow-2
for /f "skip=%SkpRow% tokens=2 delims={}" %%a in ('type "%temp%\MyNet.reg"^|findstr .*') do (
  for /f "skip=6 tokens=*" %%b in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{%%a}\Connection"') do (
    set LcoNet=%%b
    call echo %%LcoNet:~12%%
    goto :eof
  )
)


这个我看了。不过看不懂。。请问哪位高手指点一下。这个命令如何把获取到的名字代入

netsh interface ip set address name="本地连接" source=static addr=192.168.0.3替换本地连接4个字

TOP

回复 12楼 的帖子

  1. @echo off
  2. rem 获取本地连接名称
  3. rem WinXP SP2 EN 测试通过
  4. rem WinXP SP3 CS 测试通过
  5. setlocal enabledelayedexpansion
  6. reg export "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards" "%temp%\MyNet.reg" >nul
  7. for /f "tokens=1 delims=:" %%a in ('type "%temp%\MyNet.reg"^|findstr /n Ethernet') do (
  8.   set "DstRow=%%a"
  9.   goto :next
  10. )
  11. goto :eof
  12. :next
  13. set /a SkpRow=DstRow-2
  14. for /f "skip=%SkpRow% tokens=2 delims={}" %%a in ('type "%temp%\MyNet.reg"^|findstr .*') do (
  15.   for /f "skip=6 tokens=*" %%b in ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\{%%a}\Connection"') do (
  16.     set LcoNet=%%b
  17.     set LcoNet=!LcoNet:~12!
  18.     netsh interface ip set address name="!LcoNet:~12!" source=static addr=192.168.0.3
  19.     goto :eof
  20.   )
  21. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表