中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-03 10:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于ipconfig如何只显示内网IP疑问 查看 1,283 回复 11
楼 主 关于ipconfig如何只显示内网IP疑问 发表于 2007-02-06 05:30 ·  中国 浙江 宁波 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
@echo off
for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i
echo %ip%
pause


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



明明我还有个IP是192.168.0.1。假如我想只显示自己内网192.168.0.1(或172.16.0.1)的IP,该怎么改??
2 发表于 2007-02-06 05:33 ·  中国 浙江 宁波 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
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 发表于 2007-02-06 08:16 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
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 发表于 2007-02-06 08:50 ·  中国 浙江 宁波 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
谢谢你的解答。可是我不明白该如何补充,麻烦你能写全吗?
5 发表于 2007-02-06 10:09 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
@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 发表于 2007-02-06 10:10 ·  中国 浙江 宁波 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
太感谢楼上的朋友了!!!果然有效!
你这代码哪句是控制输出内网IP的???能指点一下吗

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

[ Last edited by heicai on 2007-2-5 at 09:38 PM ]
7 发表于 2007-02-06 10:37 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
set ip=%%a&& goto :gof
这句呀?
&& ,意思是前面的命令执行成功之后才执行后面的命令。
就是取第一个ip成功后,跳出for,到:gof
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
heicai +2 2007-02-06 11:01
8 发表于 2007-02-06 10:47 ·  中国 浙江 宁波 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
@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 发表于 2007-02-06 11:14 ·  中国 浙江 宁波 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
晕。我想判断对方是哪类的内网IP地址,然后自动进行IPC循环复制文件。
咋就这么难呢??
10 发表于 2007-02-06 11:27 ·  中国 浙江 宁波 电信
中级用户
★★
积分 385
发帖 156
注册 2007-01-19 02:32
19年会员
UID 76955
性别 男
状态 离线
net use \\%IP\ipc$ "123" /user:"administrator" && copy test.exe \\%IP\admin$ && start test.exe

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

谁能帮我完工
11 发表于 2007-02-06 12:15 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
19年会员
UID 60532
状态 离线
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 发表于 2007-02-17 03:44 ·  中国 安徽 合肥 电信
初级用户
积分 29
发帖 15
注册 2007-02-17 00:05
19年会员
UID 79653
性别 男
状态 离线
...........
论坛跳转: