中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结][求助] - 文本中提取指定的内容(位置会变动的)
« [1] [2] »
作者:
标题: [已结][求助] - 文本中提取指定的内容(位置会变动的) 上一主题 | 下一主题
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 16 楼』:  

我怎么觉得不是太精彩,呵呵 ...........



我今后在论坛的目标就是做个超级坏人!!!
2006-10-17 04:29
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
zerocq
中级用户




积分 458
发帖 196
注册 2006-10-5
状态 离线
『第 17 楼』:  



  Quote:
Originally posted by namejm at 2006-10-17 00:37:
  无奈何第5楼的代码十分高效,充分利用了shift来对参数进行改位操作,去掉敏感字符的方法也比较巧妙,以后获取指定位置的字符串可以套用这个 ...

那段看了半天只看懂一点点,BZ能讲解一下吗

经典的代码:D

2006-10-17 05:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 18 楼』:  

思想的碰撞会产生出火花,瞬时一显也会让人眼睛一亮。
namejm 兄有些过奖了,小修了一下 5 楼代码,改善一下通用行。可以处理下面的文本了:

input type=hidden name=id VALUE=465974855 <input type=hidden name=id value="1820988170"><input type=hidden name=id value=1008964101>

  Quote:

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. FOR /F "delims=" %%i IN (input.txt) do (
  4. set "t=%%i"
  5. set "t=!t:<= !"
  6. set "t=!t:>= !"
  7. set "t=!t:&= !"
  8. set "t=!t:|= !"
  9. call :sub !t!
  10. )
  11. goto :EOF

  12. :sub
  13. if "%1" == "" exit /b
  14. if "%F%" == "1" echo %~1 &set F=0
  15. if /i "%1" == "value" set F=1
  16. shift
  17. goto sub
        无奈何发表于    2006-10-16  17:33

[ Last edited by 无奈何 on 2006-10-17 at 05:38 ]



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-10-17 05:35
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 19 楼』:  

Re zerocq
我不知道你对哪一部分不理解,是不是对不太常用的 shift 不太理解还是哪里?你可以先看一下命令的帮助信息,如 set /?  shift /? 。



  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-10-17 05:48
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 20 楼』:  



  Quote:
Originally posted by pip at 2006-10-17 02:59:
我也顺便来一个,大体跟无奈何的一致,不过有些细节不太一样

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (1.txt) do (
set "a=%%a&q ...
set "a=!a:*value=!"
……

  原来set也支持通配符的,pip兄还像以前那样善于在细微处下工夫,对你的景仰有如滔滔江水



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-17 12:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
rocmagic
初级用户





积分 26
发帖 12
注册 2007-10-13
状态 离线
『第 21 楼』:  

要找的就是这个啊,正在学习中

2007-10-16 18:42
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: