中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 03:11
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 延时变量的问题 查看 1,679 回复 5
楼 主 延时变量的问题 发表于 2010-12-06 14:46 ·  中国 浙江 台州 电信
初级用户
积分 55
发帖 29
注册 2006-04-11 16:40
20年会员
UID 53669
性别 男
来自 亚洲
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "usebackq tokens=2 delims=:" %%i in (`ipconfig ^| find "Default Gateway"`) do set gw=%%i
for /f "usebackq tokens=2 delims= " %%i in (`arp -a ^| findstr "\<!gw!\>"`) do echo %%i
pause


为什么在findstr "\<10.0.0.1\>"`
则可以获取到网关的MAC地址
而用延时变量 !gw! 就无法获取

[ Last edited by jun19841 on 2010-12-6 at 14:58 ]
2 发表于 2010-12-06 15:12 ·  中国 吉林 延边朝鲜族自治州 敦化市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
看我这里http://www.cn-dos.net/forum/viewthread.php?tid=52933&fpage=2
11楼的说明!~
是你在set gw=%%i就已经把空格带进去了
结果就是“空格+Default Gateway”
正确应该这样写:
@echo off
for /f "tokens=2 delims=:" %%i in (`ipconfig ^| find "Default Gateway"`) do set gw=%%i
for /f "tokens=2 delims= " %%i in (`arp -a ^| findstr "\<%gw:~1%\>"`) do echo %%i
pause

%gw:~1%用于把最前面带进去的空格去掉

[ Last edited by Hanyeguxing on 2010-12-6 at 15:16 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
jun19841 +2 2010-12-06 15:20
3 发表于 2010-12-06 15:20 ·  中国 浙江 台州 电信
初级用户
积分 55
发帖 29
注册 2006-04-11 16:40
20年会员
UID 53669
性别 男
来自 亚洲
状态 离线
感谢 Hanyeguxing指点,学习了~
4 发表于 2010-12-06 15:21 ·  中国 浙江 台州 电信
初级用户
积分 55
发帖 29
注册 2006-04-11 16:40
20年会员
UID 53669
性别 男
来自 亚洲
状态 离线
Originally posted by Hanyeguxing at 2010-12-6 15:12:
看我这里http://www.cn-dos.net/forum/viewthread.php?tid=52933&fpage=2
11楼的说明!~
是你在set gw=%%i就已经把空格带进去了
结果就是“空格+Default Gateway ...



嗯,插入call 也可以调用,学习了~
5 发表于 2010-12-06 15:24 ·  中国 浙江 台州 电信
初级用户
积分 55
发帖 29
注册 2006-04-11 16:40
20年会员
UID 53669
性别 男
来自 亚洲
状态 离线
for /f "usebackq tokens=2 delims= " %%i in (`arp -a ^| findstr "\<call !gw!\>"`) do echo %%i
for /f "usebackq tokens=2 delims= " %%i in (`arp -a ^| findstr "\<!gw:~1!\>"`) do echo %%i
6 发表于 2010-12-25 12:31 ·  中国 广东 东莞 中移铁通
初级用户
★★
积分 115
发帖 92
注册 2010-12-24 16:57
15年会员
UID 179794
性别 男
状态 离线
学习一下。
论坛跳转: