中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一段获取 ip 的 for 语句 总是出错 请大家帮忙
作者:
标题: 一段获取 ip 的 for 语句 总是出错 请大家帮忙 上一主题 | 下一主题
pighead123
初级用户





积分 42
发帖 23
注册 2006-2-13
状态 离线
『楼 主』:  一段获取 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疑难解答 & 问题讨论 (解答室)
明显发错版块,予以扣分处理。
——管理员
———————————————————————


   此帖被 -6 点积分     点击查看详情   
评分人:【 DOSroot 分数: -6  时间:2009-2-13 14:56






  Quote:
我是allyesno 帐号忘记密码了 妈的

2009-2-13 14:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pighead123
初级用户





积分 42
发帖 23
注册 2006-2-13
状态 离线
『第 2 楼』:  

@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

虽然找到解决方案 不过还没想明白





  Quote:
我是allyesno 帐号忘记密码了 妈的

2009-2-13 14:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pighead123
初级用户





积分 42
发帖 23
注册 2006-2-13
状态 离线
『第 3 楼』:  

http://www.cn-dos.net/forum/viewthread.php?tid=46028&fpage=1

管理员真傻





  Quote:
我是allyesno 帐号忘记密码了 妈的

2009-2-13 14:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pighead123
初级用户





积分 42
发帖 23
注册 2006-2-13
状态 离线
『第 4 楼』:  

找到原因了 延迟变量 !! 这两天老是遇到 同类的问题 怪异了





  Quote:
我是allyesno 帐号忘记密码了 妈的

2009-2-13 15:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 5 楼』:  

变量延迟的问题是个老问题了,如果不设置延迟的话,它总是寻找它之前设置的值,即第一次的赋值,如果没有,那它就是空值。
每次setlocal enabledelayedexpansion要记得在 enlocal,而且总是在文件的开始设置变量延迟,其实不好。

2009-2-13 15:07
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (250988158)  编辑帖子  回复  引用回复
DOSroot
管理员





积分 389
发帖 198
注册 2008-9-23
状态 离线
『第 6 楼』:  



  Quote:
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 的命令行下才可以使用的。

另外,如果对我有意见可以提,如果是我管理失误和错误也可以纠正,但如果口中大放厥词的话别怪我不客气。

2009-2-13 15:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pighead123
初级用户





积分 42
发帖 23
注册 2006-2-13
状态 离线
『第 7 楼』:  

我发帖的时候考虑到 说不清楚的 问题 所以特意写的清楚一些

DOS疑难解答 & 问题讨论 (解答室)
大家如果有任何DOS实际使用上的问题,尤其是DOS的实用技术方面的疑难问题(例如DOS系统或软件使用故障等),

for 命令就是属于 dos 的 使用问题 这一点也没错 也属于bat的

还有你的什么不客气 你想不客气 你就不客气 随你的便 大不了注册一个新 id

你能吓到谁?





  Quote:
我是allyesno 帐号忘记密码了 妈的

2009-2-13 15:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSroot
管理员





积分 389
发帖 198
注册 2008-9-23
状态 离线
『第 8 楼』:  

for 命令当然是 DOS 下的命令,但 Windows 下也有 for 命令,但你的使用环境是什么,你自己回答一下。

照你这么说你骂人还有理了?你想怎么样随便你,只要我有空可以陪你玩玩。

2009-2-13 15:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pighead123
初级用户





积分 42
发帖 23
注册 2006-2-13
状态 离线
『第 9 楼』:  

此帖被 -6 点积分     点击查看详情   
评分人:【 DOSroot 】 分数: -6  时间:2009-2-13 14:56


先不要说别人骂你 你看 第一帖 是你对别人先做了不敬的手势 我没空陪你玩





  Quote:
我是allyesno 帐号忘记密码了 妈的

2009-2-13 15:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSroot
管理员





积分 389
发帖 198
注册 2008-9-23
状态 离线
『第 10 楼』:  

呵呵,这个任何一个被扣分的帖子都会出现这个图标提示,不是我特意针对你一个人制作的,你可以随便看看任何一个被扣分的帖子都是这样的。DOS 论坛的评分系统从一开始就是这样的,没什么奇怪的。而且这个手势也没什么不敬,又不是竖中指。我非常奇怪,作为一个已经注册了三年的会员怎么连这个都不清楚?而且你以前还注册过的。

2009-2-13 16:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 11 楼』:  

和谐嘛。最重要的就是和谐,不要为了一点小事就这样,讨论技术讨论技术,扣分有扣分的道理,说明白就可以了,以后注意就是勒。如果自己有什么理由也可以说出来,可以发消息。
多说无益

2009-2-13 18:59
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (250988158)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 12 楼』:  

可能管理员是根据你的代码内容来判断是DOS还是CMD的吧,因为CMD有很多特性在DOS下是没有的。

如果对管理员的操作有疑问,可以到意见反馈版块向其它管理员投诉,侮辱他人总是不太好的。如果所有管理员都官官相卫,你又实在觉得这个论坛不咋地,可以到其它批处理论坛去玩玩,学习嘛,在哪里都一样,重要的是大家在一起学习的要快乐。

如果5楼的回复还没有解决你的问题,大家可以在讨论。



2009-2-13 23:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: