![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-13 01:34 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已解决]请问如何在for的符号列表中同时使用|和空格? |
| 可打印版本 875 / 9 |
| 第1楼 wiq | 发表于 2009-11-06 14:30 |
| 初级用户 发帖 35 积分 179 | |
|
[已解决]请问如何在for的符号列表中同时使用|和空格? test.txt内容如下:
IP:21.161.95.021 MAC:001277467DEC 23040803|mAbwRQ8Na7U=|2304|wsjy|bb| 我想使用for循环找出这个文件中的IP,MAC,23040803,2304,wsjy等 [ Last edited by wiq on 2009-11-9 at 12:52 ] |
|
| 第2楼 Evangel | 发表于 2009-11-06 23:30 |
| 初级用户 发帖 95 积分 145 | |
|
个人简单的方法没有,笨方法到有,就是使用嵌套的for,第一层将空格脱去,第二层再处理'|',不知道可否?
|
|
| 第3楼 lincc0519 | 发表于 2009-11-06 23:36 |
| 初级用户 发帖 17 积分 24 | |
|
2楼的,可以直接用你的第2个for就行了把(delims=|)改成(delims= ^|)就行了,哦,^|前面用个空格,还有你的那个符号前面要加个^才行。
|
|
| 第4楼 Evangel | 发表于 2009-11-06 23:41 |
| 初级用户 发帖 95 积分 145 | |
Originally posted by lincc0519 at 2009-11-6 11:36 PM: 我用的时候没问题呀? 不过兄的那个方法,自己的机子上没有成功,能否发个全的代码? |
|
| 第5楼 nerfg002 | 发表于 2009-11-07 00:14 |
| 初级用户 发帖 24 积分 24 | |
|
加转义字符^就可以了
|
|
| 第6楼 wiq | 发表于 2009-11-07 09:41 |
| 初级用户 发帖 35 积分 179 | |
|
谢谢各位!
二楼方法可行,我目前就是使用类似的方法。 我直接使用下面的会报错:此时不应有 ^| tokens=1,2,3,5,6"。 @echo off setlocal enabledelayedexpansion for /f "delims= ^| tokens=1,2,3,5,6" %%i in (test.txt) do echo %%i,%%j,%%k,%%l,%%m [ Last edited by wiq on 2009-11-7 at 09:44 ] |
|
| 第7楼 zh159 | 发表于 2009-11-07 10:33 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
换一下看看
"tokens=1,2,3,5,6 delims= ^|" |
|
| 第8楼 wiq | 发表于 2009-11-07 14:28 |
| 初级用户 发帖 35 积分 179 | |
Originally posted by zh159 at 2009-11-7 10:33 AM: 不行,还是一样的报错。 |
|
| 第9楼 dikex | 发表于 2009-11-07 15:47 |
| 高级用户 发帖 366 积分 788 | |
Originally posted by wiq at 2009-11-7 09:41 AM: 一般delims放到最后,要用多个分隔符且其中一个是空格时,空格放最后
|
|
| 第10楼 wiq | 发表于 2009-11-09 12:51 |
| 初级用户 发帖 35 积分 179 | |
|
谢谢楼上的大侠!将delims放到最后就可以了。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |