中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » 论坛回收站 » [求助]请问对输出的多行字符串如何处理?
作者:
标题: [求助]请问对输出的多行字符串如何处理? 上一主题 | 下一主题
chishingchan
银牌会员




积分 1282
发帖 538
注册 2002-11-2
状态 离线
『楼 主』:  [求助]请问对输出的多行字符串如何处理?


gdisk32 1
显示结果如下:

  Quote:
Disk  Partitions  Cylinders  Heads  Sectors  Mbytes  Model
  1        7        19457     255      63  152627.8  SAMSUNG HM160HI

Partition  Status   Type     Volume Label   Mbytes   System   Usage
C:  1        A    PRIMARY    系统         20481.3  FAT32      13%
     2             EXTENDED               132144.0             87%
D:  3             LOGICAL    程序         20481.3  FAT32      13%
E:  4             LOGICAL    资料         20481.3  FAT32      13%
F:  5             LOGICAL    软件         40962.6  FAT32      27%
G:  6             LOGICAL    娱乐         40962.6  FAT32      27%
H:  7             LOGICAL    备份          9256.2  FAT32       6%

我现在想使用一个变量的值等于 "C:;D:;E:;F:;G:;H:$" 带双引号的,请问如何编写?

别笑我是什么牌的会员,始终对这个方法的使用不理解,唉!以下是错误的代码:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1" %%i in ('gdisk32 1^|find /i ":"') do set id=%%i
echo %id%
pause
[ Last edited by chishingchan on 2010-6-8 at 18:21 ]

2010-6-8 18:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sygate
新手上路





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

这个我也不太明白,一起研究下好吗?

setlocal enabledelayedexpansion

这个命令我一直不明白,如果我需要处理你这个问题,我会使用管道,将gdisk32 1 的结果到出为文件,然后通过FOR命令来操作文件。


“我现在想使用一个变量的值等于 "C:;D:;E:;F:;G:;H:$" 带双引号的,请问如何编写?”

你希望 id的值是什么样的?

2010-6-20 01:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qinchun36
高级用户

据说是李先生


积分 609
发帖 400
注册 2008-4-23
状态 离线
『第 3 楼』:  

既然是拼字符,那每次就要把变量原来的值加上去,看看这样行不行:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1" %%i in ('gdisk32 1^|find /i ":"') do set id=!id!%%i;
set id="!id:~0,-1!$"
echo !id!
pause


2010-6-21 12:16
查看资料  发送邮件  发短消息 网志  OICQ (182484135)  编辑帖子  回复  引用回复
DOSroot
管理员





积分 389
发帖 198
注册 2008-9-23
状态 离线
『第 4 楼』:  

对这个帖子删,还是不删,我一直在犹豫……

删,不需要理由多说了。
不删,对 chishingchan 不耻“下”问的精神表示赞赏,就应该有这种谦虚好学的精神。

2010-6-23 21:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  Re 4 楼

老会员的不删
新会员的必删

果然是中国特色的龟腚么?



2010-6-24 00:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSroot
管理员





积分 389
发帖 198
注册 2008-9-23
状态 离线
『第 6 楼』:  Re: #5

不知你是如何理解我的回帖的。

删的理由我不需要多说。

为什么没有删除,那是因为我看中了“别笑我是什么牌的会员,始终对这个方法的使用不理解”这句话,这说明了 chishingchan 好学的精神,而没有为了自己所谓的“面子”问题不提出一些“低级”问题。假如我一下子删除,这个很好的例子就不会有人看见。所以我想把这个帖子放一段时间。

我以前不是没有处理过 chishingchan 的错误发贴
http://www.cn-dos.net/forum/viewthread.php?tid=46088

所以这次 chishingchan 再次犯相同的错误我本来是比较恼火的,但看了这个比较值得人们学习的例子所以还是决定在这个版块放一段时间。

2010-6-24 22:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  Re 6 楼

如果每个人发帖的时候都表现的非常、极其、十分谦虚好学,那是不是每个帖子都不用删了呢?



2010-6-26 10:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSroot
管理员





积分 389
发帖 198
注册 2008-9-23
状态 离线
『第 8 楼』:  Re: #7

看来你还是没有看明白我所说的要点,我在#5已经说的很清楚了。同样是好学, chishingchan 在于不耻“下”问。

其实如果我一开始就删掉这个帖子也就什么事都没有了,但我还是要保留下。

2010-6-27 19:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 9 楼』:  Re 8 楼

老会员就叫“下”问?新会员就不叫“下”问?
这个论坛的新会员说不定在其他论坛是叱咤风云的人物呢?如果区分哪个是“下”问?



2010-6-28 15:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSroot
管理员





积分 389
发帖 198
注册 2008-9-23
状态 离线
『第 10 楼』:  Re: #9

所谓的“上下”当然不是以新老来区分的,其实本来就无所谓上下,只是 chishingchan 的这句“别笑我是什么牌的会员”,说明他有一些思想认识上的误区,我之所以特地回帖就是为了消除这个误区。
我从来不认为有什么“叱咤风云的人物”,网络嘛本来就是来玩玩的,特别是技术性论坛,是来相互交流学习的,目的是为了学到知识,而不是为了做什么“叱咤风云的人物”。即便是现实生活中,叱咤风云的人物也只不过是历史的一颗尘埃而已。

2010-6-28 20:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wl00560
银牌会员





积分 1384
发帖 709
注册 2005-10-29
状态 离线
『第 11 楼』:  

不一定要删吧,移动一下也许更好……

2010-7-8 16:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSroot
管理员





积分 389
发帖 198
注册 2008-9-23
状态 离线
『第 12 楼』:  

决定移到回收站,此问题可以在相应版块重新发贴。

2010-7-9 21:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: