![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 09:46 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 一段获取 ip 的 for 语句 总是出错 请大家帮忙 |
| 可打印版本 803 / 11 |
| 第1楼 pighead123 | 发表于 2009-02-13 14:22 |
| 初级用户 发帖 23 积分 42 | |
|
一段获取 ip 的 for 语句 总是出错 请大家帮忙 @echo off
cls setlocal enabledelayedexpansion FOR /F "tokens=2,3* usebackq delims=:" %%i IN (`ipconfig^|findstr /i "ss"`) DO ( echo %%i abcde ) 执行以后 abcde68.1.178 为什么 abcde 跑到 ip 前面了呢 ——————————————————————— 转移自 DOS疑难解答 & 问题讨论 (解答室) 明显发错版块,予以扣分处理。 ——管理员 ——————————————————————— |
|
| 第2楼 pighead123 | 发表于 2009-02-13 14:51 |
| 初级用户 发帖 23 积分 42 | |
|
@echo off
cls for /f "delims=: tokens=1,2" %%a in ('ipconfig ^|findstr /i IP') do ( echo %%b asdf set IP=%%b ) echo %ip% asdf 虽然找到解决方案 不过还没想明白 |
|
| 第3楼 pighead123 | 发表于 2009-02-13 14:59 |
| 初级用户 发帖 23 积分 42 | |
| 第4楼 pighead123 | 发表于 2009-02-13 15:04 |
| 初级用户 发帖 23 积分 42 | |
|
找到原因了 延迟变量 !! 这两天老是遇到 同类的问题 怪异了
|
|
| 第5楼 zhengqian529 | 发表于 2009-02-13 15:07 |
| 初级用户 发帖 93 积分 100 来自 湖南 | |
|
变量延迟的问题是个老问题了,如果不设置延迟的话,它总是寻找它之前设置的值,即第一次的赋值,如果没有,那它就是空值。
每次setlocal enabledelayedexpansion要记得在 enlocal,而且总是在文件的开始设置变量延迟,其实不好。 |
|
| 第6楼 DOSroot | 发表于 2009-02-13 15:26 |
| 管理员 发帖 198 积分 389 | |
Originally posted by pighead123 at 2009-2-13 14:59: 你说的那个例子没错,实际上我已经是尽量手下留情了,已经是尽可能往好的方面考虑了,只要是有可能在 DOS 下实行的就视作是 DOS 下的问题。而且,如果有人所提问题一开始没有说明环境,是可以在 DOS 下实行的,你也不能一开始就主观的认为他就是想在 CMD 下执行。而从你的例子来看,你的这些语句和某些命令是明显只有在 Windows 的命令行下才可以使用的。 另外,如果对我有意见可以提,如果是我管理失误和错误也可以纠正,但如果口中大放厥词的话别怪我不客气。 |
|
| 第7楼 pighead123 | 发表于 2009-02-13 15:30 |
| 初级用户 发帖 23 积分 42 | |
|
我发帖的时候考虑到 说不清楚的 问题 所以特意写的清楚一些
DOS疑难解答 & 问题讨论 (解答室) 大家如果有任何DOS实际使用上的问题,尤其是DOS的实用技术方面的疑难问题(例如DOS系统或软件使用故障等), for 命令就是属于 dos 的 使用问题 这一点也没错 也属于bat的 还有你的什么不客气 你想不客气 你就不客气 随你的便 大不了注册一个新 id 你能吓到谁? |
|
| 第8楼 DOSroot | 发表于 2009-02-13 15:33 |
| 管理员 发帖 198 积分 389 | |
|
for 命令当然是 DOS 下的命令,但 Windows 下也有 for 命令,但你的使用环境是什么,你自己回答一下。
照你这么说你骂人还有理了?你想怎么样随便你,只要我有空可以陪你玩玩。 |
|
| 第9楼 pighead123 | 发表于 2009-02-13 15:53 |
| 初级用户 发帖 23 积分 42 | |
|
此帖被 -6 点积分 点击查看详情
评分人:【 DOSroot 】 分数: -6 时间:2009-2-13 14:56 ![]() 先不要说别人骂你 你看 第一帖 是你对别人先做了不敬的手势 我没空陪你玩 |
|
| 第10楼 DOSroot | 发表于 2009-02-13 16:18 |
| 管理员 发帖 198 积分 389 | |
|
呵呵,这个任何一个被扣分的帖子都会出现这个图标提示,不是我特意针对你一个人制作的,你可以随便看看任何一个被扣分的帖子都是这样的。DOS 论坛的评分系统从一开始就是这样的,没什么奇怪的。而且这个手势也没什么不敬,又不是竖中指。我非常奇怪,作为一个已经注册了三年的会员怎么连这个都不清楚?而且你以前还注册过的。
|
|
| 第11楼 zhengqian529 | 发表于 2009-02-13 18:59 |
| 初级用户 发帖 93 积分 100 来自 湖南 | |
|
和谐嘛。最重要的就是和谐,不要为了一点小事就这样,讨论技术讨论技术,扣分有扣分的道理,说明白就可以了,以后注意就是勒。如果自己有什么理由也可以说出来,可以发消息。
多说无益 |
|
| 第12楼 HAT | 发表于 2009-02-13 23:00 |
| 版主 发帖 5,017 积分 9,023 | |
|
可能管理员是根据你的代码内容来判断是DOS还是CMD的吧,因为CMD有很多特性在DOS下是没有的。
如果对管理员的操作有疑问,可以到意见反馈版块向其它管理员投诉,侮辱他人总是不太好的。如果所有管理员都官官相卫,你又实在觉得这个论坛不咋地,可以到其它批处理论坛去玩玩,学习嘛,在哪里都一样,重要的是大家在一起学习的要快乐。 如果5楼的回复还没有解决你的问题,大家可以在讨论。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |