中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何提取文本的某些特定字符作为变量?[以解决]
« [1] [2] »
作者:
标题: [求助]如何提取文本的某些特定字符作为变量?[以解决] 上一主题 | 下一主题
pkone
初级用户




积分 25
发帖 8
注册 2006-11-27
状态 离线
『楼 主』:  [求助]如何提取文本的某些特定字符作为变量?[以解决]

文本1.txt如下:
# - Lean window skinner
plugins\bbLeanSkin\bbLeanSkin.dll
! plugins\SystemBarEx\SystemBarEx.dll
! plugins\bbIconBox\bbIconBox.dll
plugins\bbinterface\BBInterface.dll
! plugins\bbicons21a\BBicons.dll
! plugins\bbsysmonplus011b\BBSysmonPlus.dll
! plugins\bbmemshrink\bbMemShrink.dll
! plugins\BroamTimer\BroamTimer.dll
! plugins\bbLeanBar\bbLeanBar.dll
plugins\bbKeys\bbKeys.dll
! plugins\bbmemo\BBMemo.dll
! plugins\bbstyle\BBStyle.dll
! plugins\bbmemlimiter\bbMemLimiter.dll
! plugins\bbpager\BBPager.dll
plugins\bbmemlimiter\bbMemLimiter-5000K.dll
! plugins\bbmagnify\bbmagnify.dll
! plugins\bbrss10b1\bbrss.dll

我的要求是只提取上面没有“!”开头的plugins\*\(并且不要后面的*.dll)做为变量来新建一些目录,如上面 的第2行没有“!”,那么就在plugins目录下建立一个名为bbLeanSkin的子目录,其他类似,有“!”和“#”开头的都不管了

呵呵,本人是菜菜,有路过的DX麻烦指导一下,先谢谢了!

[ Last edited by pkone on 2006-11-27 at 09:42 PM ]

   此帖被 +3 点积分       点击查看详情   
评分人:【 9527 分数: +3  时间:2006-11-28 00:03


2006-11-27 04:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 2 楼』:  


@echo off
for /f "tokens=1,2 delims=\" %%a in ('findstr /v "! #" 1.txt') do md "%%a\%%b" 2>nul>nul


   此帖被 +3 点积分       点击查看详情   
评分人:【 9527 分数: +3  时间:2006-11-28 00:03




    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-11-27 05:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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

Re pkone:

  观察你的文本内容,不是以p开头的路径不是你需要的,换而言之,你只需要以p开头的路径,则可以换一种思路来求解:
@echo off
:: 请把这段代码放在plugins下运行
setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
    set var=%%i
    if /i "!var:~0,1!"=="p" md "%%~pi"
)
  发完之后才发现redtek已经帖了一个更简洁的代码出来,赞一个先。

[ Last edited by namejm on 2006-11-26 at 04:58 PM ]

   此帖被 +3 点积分       点击查看详情   
评分人:【 9527 分数: +3  时间:2006-11-28 00:04




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-11-27 05:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 4 楼』:  

赞!偶看很乱的,眼疼。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-11-27 05:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


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

for /f "eol=! delims=" %a in (1.txt) do for /f "eol=# delims=\ tokens=1,2" %x in ('echo/%a') do md "%x\%y"


只求一题多解....

   此帖被 +6 点积分     点击查看详情   
评分人:【 lxmxn 分数: +3  时间:2006-11-27 09:12
评分人:【 redtek 分数: +3  时间:2006-11-27 10:10




我今后在论坛的目标就是做个超级坏人!!!
2006-11-27 08:33
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  


  兄的代码非常巧妙啊~加分~


2006-11-27 09:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 7 楼』:  

太巧妙啦~~~~欣赏~~~



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-11-27 10:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pkone
初级用户




积分 25
发帖 8
注册 2006-11-27
状态 离线
『第 8 楼』:  

谢谢各位的回复,哈哈,偶新来滴,这里的高手都很热心啊,温暖!

2006-11-27 10:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 9 楼』:  


@echo off
    for /f %%i in (1.txt) do md %%i && rd %%i
exit /b 0


   此帖被 +6 点积分      点击查看详情   
评分人:【 lxmxn 分数: +3  时间:2006-11-27 13:23
评分人:【 9527 分数: +3  时间:2006-11-28 00:04


2006-11-27 12:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





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

3742668 兄的代码太巧妙了,赞一个!
受此启发,我也来一个。
for /f %%i in (1.txt) do @md %%~dpi 2>nul


   此帖被 +7 点积分      点击查看详情   
评分人:【 redtek 分数: +3  时间:2006-11-27 21:53
评分人:【 ccwan 分数: +4  时间:2006-11-28 02:08




  ☆开始\运行 (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-11-27 13:04
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 11 楼』:  


  两位版主的代码都非常巧妙啊~赞一个先~

  不过 无奈何 版主的代码中,%%~dpi 应该加上双引号比较妥当,刚才测试了。

                       p.s.由于今天评分达到了30分,系统不让我给 无奈何 兄加分,所以改天在来补上  :)


2006-11-27 13:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 12 楼』:  

系统不让我给 无奈何 兄加分,回头补上。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-11-27 21:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 13 楼』:  

我的分儿也加光了,哈哈……
这回大开眼界啦~~~:)



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-11-27 21:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


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

我给你们一人都加了三分,不过到无奈何那里我没有分了,失败,第一次给别人评分,LZ的我也给评上了,第一次用,没用好



我今后在论坛的目标就是做个超级坏人!!!
2006-11-28 00:05
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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

  呵呵,3742668 兄的思路很独特,灌水~~~



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-11-28 02:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: