中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 11:42
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 关于find出来的字符串后面的回车,
可打印版本  835 / 5
第1楼 szweiw 发表于 2009-09-07 06:16
新手上路 发帖 18 积分 18
关于find出来的字符串后面的回车,
小弟写了一个判断本机IP是否在txt文件列表里面的批处理,代码如下:



总是无法达到想要的效果,即使我在ht.txt里面写的就是本机IP,也无法执行:yes里面的语句。执行结果如下。

C:\>a

C:\>(

goto :no
)

C:\>(



)
i= 10.10.37.186
j= 10.10.37.186
no----------

C:\>



我怀疑是find出来的本机IP (%%i变量) 后面带了个回车,导致比对的时候判断失败。请教有没有什么办法去掉后面的回车来进行比对?
另外用goto语句跳转,有没有办法带个参数,类似 call :yes %%i 这样?

[ Last edited by szweiw on 2009-9-7 at 06:19 ]
第2楼 Hanyeguxing 发表于 2009-09-07 07:15
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
首先,运行这个批处理:

在hanye.txt里的ip 地址后面与hanye之间的就是回车符,复制“回车符”和后面的hanye,然后在ht.txt文本里,每个ip的后面粘贴。
当然,你也可以通过edit获得回车符:ctrl+p切换进入,ctrl+m获得的就是回车符
批处理还用原来的:


goto 的时候,还是在原批处理中,所以不存在带不带着,因为变量本来就都在。。。

[ Last edited by Hanyeguxing on 2009-9-7 at 07:54 ]
第3楼 tireless 发表于 2009-09-07 07:49
银牌会员 发帖 1,122 积分 2,025
ipconfig 输出的结果里行尾都是“<回车符><回车符><换行符>”,正常的行尾是“<回车符><换行符>”。

第4楼 szweiw 发表于 2009-09-07 08:16
新手上路 发帖 18 积分 18
Originally posted by Hanyeguxing at 2009-9-7 07:15:
首先,运行这个批处理:

在hanye.txt里的ip 地 ...



在ht.txt里面把回车符/换行符手工生成出来,刚才我试了一下,是可以的。

我原来的设计是要在:yes 和 :no 里面再分别执行一批命令,所以开始想用 call :yes %%i 的方式调用,这样可以把 %%i 传到:yes过程里面去,但这样的话又没法跳出循环,所以想到用goto,但用了goto跳出循环之后好像就没法带参数了。

[ Last edited by szweiw on 2009-9-7 at 08:26 ]
第5楼 szweiw 发表于 2009-09-07 08:22
新手上路 发帖 18 积分 18
Originally posted by tireless at 2009-9-7 07:49:
ipconfig 输出的结果里行尾都是“<回车符><回车符><换行符>”,正常的行尾是“<回车符><换行符>”。

第6楼 szweiw 发表于 2009-09-07 08:29
新手上路 发帖 18 积分 18
综合两位的帮助来看,这样好像是可以的,明天回公司再仔细测测



[ Last edited by szweiw on 2009-9-7 at 12:09 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023