中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 截取文本字符 上一主题 | 下一主题
wyd531
初级用户

菜鸟


积分 137
发帖 49
注册 2006-12-20
状态 离线
『楼 主』:  截取文本字符

1.txt
Microsoft\Updates\Windows Media Player\KB832353
Microsoft\Updates\Windows Media Services\KB822343
Microsoft\Updates\Windows Media Services\KB832359
怎样截取KB832353这段字符,



我是一只小菜鸟,依呀依呀哟~~~
2007-1-13 00:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




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


@echo off
for /f "tokens=4 delims=\" %%i in ('sort/r 1.txt') do set a=%%i
echo %a%
pause>nul


   此帖被 +6 点积分      点击查看详情   
评分人:【 redtek 分数: +6  时间:2007-2-3 21:38




三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-1-13 00:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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


@echo off
for /f "delims=" %%a in (1.txt) do (
        Setlocal EnableDelayedExpansion
        set a=%%a
        set a=!a: =!
        echo !a:~-8!
        Endlocal
)
pause


   此帖被 +5 点积分     点击查看详情   
评分人:【 redtek 分数: +5  时间:2007-2-3 21:38


2007-1-13 00:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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

  利用 for 扩展,来个更简洁的代码:
@echo off
for /f "delims=" %%i in (1.txt) do echo "%%~nxi"
pause


   此帖被 +7 点积分     点击查看详情   
评分人:【 lxmxn 分数: +2  时间:2007-1-14 05:57
评分人:【 redtek 分数: +5  时间:2007-2-3 21:36




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




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

斑竹的思路很好啊,要想只显示KB832353还要改动一下。



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





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 6 楼』:  

%%~nxi 这个很好的

2007-1-14 03:04
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




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


  namejm 这个用的妙~


2007-1-14 05:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
applecy
初级用户




积分 168
发帖 78
注册 2006-12-27
状态 离线
『第 8 楼』:  

4楼的方法好``不过要是我要提取的是中间的部分呢?
"Microsoft\Updates\Windows Media Player\KB832353" 中的
"Windows Media Player"呢?

2007-1-14 08:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


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

  这个问题以前已经有过讨论,提取任意层次的字符串都不是什么难题,请看这个帖子的14楼:[请教]如何获取绝对路径中文件名的最后一部分?[已解决]



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2007-1-14 08:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
applecy
初级用户




积分 168
发帖 78
注册 2006-12-27
状态 离线
『第 10 楼』:  

呵呵`谢谢了`还在消化中.

想提个小建议,不知道能否开个收藏功能呢`?毕竟有很多新手不能一时完全掌握,而想查的时候又很难找到指定的帖子,有收藏功能之后一切就更简便了

2007-1-15 09:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zjindong
初级用户





积分 64
发帖 26
注册 2006-1-10
状态 离线
『第 11 楼』:  

有收藏啊.网页最下面就有了

2007-2-3 14:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
amao
中级用户





积分 316
发帖 152
注册 2006-6-18
状态 离线
『第 12 楼』:  

@sed "s/ *$//;s/.*\\\(.*\)/\1/" 1.txt

   此帖被 +5 点积分     点击查看详情   
评分人:【 redtek 分数: +5  时间:2007-2-3 21:39


2007-2-3 16:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
amao
中级用户





积分 316
发帖 152
注册 2006-6-18
状态 离线
『第 13 楼』:  



  Quote:
Originally posted by applecy at 2007-1-14 08:30:
4楼的方法好``不过要是我要提取的是中间的部分呢?
"Microsoft\Updates\Windows Media Player\KB832353" 中的
"Windows Media Player"呢?

@sed "s/.*\\.*\\\(.*\)\\.*/\1/" 1.txt

2007-2-3 16:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 14 楼』:  

又学习了tokens的用法

2007-2-4 00:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
minmin888
初级用户





积分 127
发帖 62
注册 2007-4-19
状态 离线
『第 15 楼』:  

一问多解,学到东西!

2007-5-8 13:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: