标题: [其他] 局域网中批处理如何自动更换未使用的IP? [打印本页]
作者: 愚无尽 时间: 2008-8-10 15:31 标题: 局域网中批处理如何自动更换未使用的IP?
如题!请高手帮忙。
环境:局域网
目的:通过编写批处理扫描可用的ip,然后自动进行更换,更换以后显示修改前的ip和修改后的ip
ip段:192.168.200.1-255
[ 本帖最后由 愚无尽 于 2008-8-10 15:53 编辑 ]
作者: batman 时间: 2008-8-10 15:53
这个是要分成两部分来写的,第一部分是自动获取和扫描,另一部分是自动修改。
前面出错实属本人粗心大意,已修正- @echo off
- for /f "tokens=2 delims=:" %%i in ('ipconfig /all^|findstr /c:"IP Address"') do set "oldip=%%i"
- for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|findstr /c:"Default Gateway"') do (
- set "wg=%%a"
- for /f "tokens=1-3 delims=. " %%i in ("%%a") do (
- set "wd=%%i.%%j.%%k."
- for /l %%m in (1,1,255) do start /min ping /n 1 %%i.%%j.%%k.%%m
- )
- )
- arp -a|findstr "dynamic">ip.txt
- for /l %%i in (1,1,255) do (
- set "ip=%%i"
- if "%wd%%%i" neq "%wg:~1%" findstr "\<%wd%%%i\>" ip.txt>nul||goto next
- )
- :next
- netsh interface ip set address "本地连接" static %wd%%ip% 255.255.255.0 %wg:~1% 1 >nul
- echo 配置前ip为%oldip:~1%,配置后ip为%wd%%ip%
- echo 完成配置,请按任意键退出。
- pause>nul
复制代码
[ 本帖最后由 batman 于 2008-8-10 21:19 编辑 ]
作者: 愚无尽 时间: 2008-8-10 16:01
原帖由 batman 于 2008-8-10 15:53 发表
这个是要分成两部分来写的,第一部分是自动获取和扫描,另一部分是自动修改。
书写中。。。
一方面:感谢
另一方面:还是感谢
作者: 愚无尽 时间: 2008-8-10 16:33
系统找不到文件 ’ipconfig /all 文件
错误提示
作者: batman 时间: 2008-8-10 16:38
不是的吧,你再试试看,这一部分是没有问题的啊
作者: Batcher 时间: 2008-8-11 02:08
如果局域网里面有人开了防火墙,批处理无法如此简单的判断一个IP是否可用吧?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |