Board logo

标题: [求助]请问对输出的多行字符串如何处理? [打印本页]

作者: chishingchan     时间: 2010-6-8 18:17    标题: [求助]请问对输出的多行字符串如何处理?


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 ]
作者: sygate     时间: 2010-6-20 01:10
这个我也不太明白,一起研究下好吗?

setlocal enabledelayedexpansion

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


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

你希望 id的值是什么样的?
作者: qinchun36     时间: 2010-6-21 12:16
既然是拼字符,那每次就要把变量原来的值加上去,看看这样行不行:
@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

作者: DOSroot     时间: 2010-6-23 21:35
对这个帖子删,还是不删,我一直在犹豫……

删,不需要理由多说了。
不删,对 chishingchan 不耻“下”问的精神表示赞赏,就应该有这种谦虚好学的精神。
作者: HAT     时间: 2010-6-24 00:01    标题: Re 4 楼

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

果然是中国特色的龟腚么?
作者: DOSroot     时间: 2010-6-24 22:09    标题: Re: #5

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

删的理由我不需要多说。

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

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

所以这次 chishingchan 再次犯相同的错误我本来是比较恼火的,但看了这个比较值得人们学习的例子所以还是决定在这个版块放一段时间。
作者: HAT     时间: 2010-6-26 10:30    标题: Re 6 楼

如果每个人发帖的时候都表现的非常、极其、十分谦虚好学,那是不是每个帖子都不用删了呢?
作者: DOSroot     时间: 2010-6-27 19:49    标题: Re: #7

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

其实如果我一开始就删掉这个帖子也就什么事都没有了,但我还是要保留下。
作者: HAT     时间: 2010-6-28 15:23    标题: Re 8 楼

老会员就叫“下”问?新会员就不叫“下”问?
这个论坛的新会员说不定在其他论坛是叱咤风云的人物呢?如果区分哪个是“下”问?
作者: DOSroot     时间: 2010-6-28 20:19    标题: Re: #9

所谓的“上下”当然不是以新老来区分的,其实本来就无所谓上下,只是 chishingchan 的这句“别笑我是什么牌的会员”,说明他有一些思想认识上的误区,我之所以特地回帖就是为了消除这个误区。
我从来不认为有什么“叱咤风云的人物”,网络嘛本来就是来玩玩的,特别是技术性论坛,是来相互交流学习的,目的是为了学到知识,而不是为了做什么“叱咤风云的人物”。即便是现实生活中,叱咤风云的人物也只不过是历史的一颗尘埃而已。
作者: wl00560     时间: 2010-7-8 16:02
不一定要删吧,移动一下也许更好……
作者: DOSroot     时间: 2010-7-9 21:13
决定移到回收站,此问题可以在相应版块重新发贴。