中国DOS联盟论坛

中国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:
http://www.cn-dos.net/forum/viewthread.php?tid=46028&fpage=1

管理员真傻

你说的那个例子没错,实际上我已经是尽量手下留情了,已经是尽可能往好的方面考虑了,只要是有可能在 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