中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 09:09
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 延时变量的问题
可打印版本  1,839 / 5
第1楼 jun19841 发表于 2010-12-06 14:46
初级用户 发帖 29 积分 55 来自 亚洲
延时变量的问题
@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楼 Hanyeguxing 发表于 2010-12-06 15:12
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
看我这里http://www.cn-dos.net/forum/viewthread.php?tid=52933&fpage=2
11楼的说明!~
是你在set gw=%%i就已经把空格带进去了
结果就是“空格+Default Gateway”
正确应该这样写:
%gw:~1%用于把最前面带进去的空格去掉

[ Last edited by Hanyeguxing on 2010-12-6 at 15:16 ]
第3楼 jun19841 发表于 2010-12-06 15:20
初级用户 发帖 29 积分 55 来自 亚洲
感谢 Hanyeguxing指点,学习了~
第4楼 jun19841 发表于 2010-12-06 15:21
初级用户 发帖 29 积分 55 来自 亚洲
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楼 jun19841 发表于 2010-12-06 15:24
初级用户 发帖 29 积分 55 来自 亚洲
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楼 acaigg 发表于 2010-12-25 12:31
初级用户 发帖 92 积分 115
学习一下。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023