中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 11:52
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于ipconfig如何只显示内网IP疑问
可打印版本  1,284 / 11
第1楼 heicai 发表于 2007-02-06 05:30
中级用户 发帖 156 积分 385
关于ipconfig如何只显示内网IP疑问


这句命令我显示为
61.175.131.10
请按任意键继续. . .



明明我还有个IP是192.168.0.1。假如我想只显示自己内网192.168.0.1(或172.16.0.1)的IP,该怎么改??
第2楼 heicai 发表于 2007-02-06 05:33
中级用户 发帖 156 积分 385
Windows IP Configuration


Ethernet adapter 本地连接:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.0.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :

Ethernet adapter 无线网络连接:

Media State . . . . . . . . . . . : Media disconnected

PPP adapter 宽带连接:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 61.175.131.10
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 61.175.131.210




我想指定输出的是带数字172.16.*.* 或192.168.*.*的那种内网地址。可貌似显示效果往往是取最后一个IP ADDRESS的来输出。有什么办法
第3楼 everest79 发表于 2007-02-06 08:16
金牌会员 发帖 1,127 积分 2,564
for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do call ipset %%i
set ip
pause

:ipset
set /a st+=1
set ip%st%=%%i
goto :eof
第4楼 heicai 发表于 2007-02-06 08:50
中级用户 发帖 156 积分 385
谢谢你的解答。可是我不明白该如何补充,麻烦你能写全吗?
第5楼 anqing 发表于 2007-02-06 10:09
高级用户 发帖 413 积分 859
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find /i "ip address"') do (
set ip=%%a&& goto :gof
)
:gof
echo %ip%

pause
试试看!
第6楼 heicai 发表于 2007-02-06 10:10
中级用户 发帖 156 积分 385
太感谢楼上的朋友了!!!果然有效!
你这代码哪句是控制输出内网IP的???能指点一下吗

另外我想让变量%IP%为192.168.0.
因为最后位我想递增

[ Last edited by heicai on 2007-2-5 at 09:38 PM ]
第7楼 anqing 发表于 2007-02-06 10:37
高级用户 发帖 413 积分 859
set ip=%%a&& goto :gof
这句呀?
&& ,意思是前面的命令执行成功之后才执行后面的命令。
就是取第一个ip成功后,跳出for,到:gof
第8楼 heicai 发表于 2007-02-06 10:47
中级用户 发帖 156 积分 385
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find /i "ip address"') do (set ip=%%a&&goto :gof)
:gof
for /f "tokens=1,2,3 delims=." %%b in ("%ip%") do echo %%b.%%c.%%d
pause


试了下这代码,显示结果为

192.168.0
请按任意键继续. . .

前面有个空格,如何避免??

[ Last edited by heicai on 2007-2-5 at 10:04 PM ]
第9楼 heicai 发表于 2007-02-06 11:14
中级用户 发帖 156 积分 385
晕。我想判断对方是哪类的内网IP地址,然后自动进行IPC循环复制文件。
咋就这么难呢??
第10楼 heicai 发表于 2007-02-06 11:27
中级用户 发帖 156 积分 385
net use \\%IP\ipc$ "123" /user:"administrator" && copy test.exe \\%IP\admin$ && start test.exe

%IP由网段而定,有可能172.16开头,有可能192.168开头.这问题已经解决了。
现在要%IP让它累加。

谁能帮我完工
第11楼 anqing 发表于 2007-02-06 12:15
高级用户 发帖 413 积分 859
Originally posted by heicai at 2007-2-6 10:47:
@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find /i "ip address"') do (set ip=%%a&&goto :gof)
:gof
for /f "tokens=1,2,3 delims=." %%b in (&quo ...






@echo off
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find /i "ip address"') do (
set ip=%%a&& goto :gof
)
:gof
set "ip=%ip: =%"
echo %ip%


pause
去掉192前面的空格
第12楼 ding520 发表于 2007-02-17 03:44
初级用户 发帖 15 积分 29
...........
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023