中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 19:00
楼 主 截取文本字符 发表于 2007-01-13 00:34 ·  中国 广东 深圳 电信
初级用户
菜鸟
积分 137
发帖 49
注册 2006-12-20 04:45
UID 74007
性别 男
状态 离线
1.txt
Microsoft\Updates\Windows Media Player\KB832353
Microsoft\Updates\Windows Media Services\KB822343
Microsoft\Updates\Windows Media Services\KB832359
怎样截取KB832353这段字符,
我是一只小菜鸟,依呀依呀哟~~~
2 发表于 2007-01-13 00:48 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
@echo off
for /f "tokens=4 delims=\" %%i in ('sort/r 1.txt') do set a=%%i
echo %a%
pause>nul
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +6 2007-02-03 21:38
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2007-01-13 00:57 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

@echo off
for /f "delims=" %%a in (1.txt) do (
Setlocal EnableDelayedExpansion
set a=%%a
set a=!a: =!
echo !a:~-8!
Endlocal
)
pause
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +5 2007-02-03 21:38
4 发表于 2007-01-13 22:47 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  利用 for 扩展,来个更简洁的代码:

@echo off
for /f "delims=" %%i in (1.txt) do echo "%%~nxi"
pause
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
lxmxn +2 2007-01-14 05:57
redtek +5 2007-02-03 21:36
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
5 发表于 2007-01-13 23:13 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
斑竹的思路很好啊,要想只显示KB832353还要改动一下。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
6 发表于 2007-01-14 03:04 ·  中国 甘肃 甘南藏族自治州 合作市 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
%%~nxi 这个很好的
7 发表于 2007-01-14 05:58 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  namejm 这个用的妙~
8 发表于 2007-01-14 08:30 ·  中国 广西 柳州 鱼峰区 电信
初级用户
★★
积分 168
发帖 78
注册 2006-12-27 09:58
UID 74699
性别 男
状态 离线
4楼的方法好``不过要是我要提取的是中间的部分呢?
"Microsoft\Updates\Windows Media Player\KB832353" 中的
"Windows Media Player"呢?
9 发表于 2007-01-14 08:52 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  这个问题以前已经有过讨论,提取任意层次的字符串都不是什么难题,请看这个帖子的14楼:如何获取绝对路径中文件名的最后一部分?
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
10 发表于 2007-01-15 09:14 ·  中国 广西 柳州 电信
初级用户
★★
积分 168
发帖 78
注册 2006-12-27 09:58
UID 74699
性别 男
状态 离线
呵呵`谢谢了`还在消化中.

想提个小建议,不知道能否开个收藏功能呢`?毕竟有很多新手不能一时完全掌握,而想查的时候又很难找到指定的帖子,有收藏功能之后一切就更简便了
11 发表于 2007-02-03 14:55 ·  中国 福建 泉州 电信
初级用户
积分 64
发帖 26
注册 2006-01-10 16:34
UID 48756
状态 离线
有收藏啊.网页最下面就有了
12 发表于 2007-02-03 16:05 ·  美国 北达科他州立大学
中级用户
★★
积分 316
发帖 152
注册 2006-06-18 13:01
UID 57204
性别 男
状态 离线
@sed "s/ *$//;s/.*\\\(.*\)/\1/" 1.txt
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +5 2007-02-03 21:39
13 发表于 2007-02-03 16:10 ·  美国 北达科他州立大学
中级用户
★★
积分 316
发帖 152
注册 2006-06-18 13:01
UID 57204
性别 男
状态 离线
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
14 发表于 2007-02-04 00:03 ·  中国 吉林 四平 联通
高级用户
★★★
积分 859
发帖 413
注册 2006-08-14 21:55
UID 60532
状态 离线
又学习了tokens的用法
15 发表于 2007-05-08 13:50 ·  中国 广东 中山 电信
初级用户
★★
积分 127
发帖 62
注册 2007-04-19 12:43
UID 85744
性别 男
状态 离线
一问多解,学到东西!
论坛跳转: