中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-13 22:11
中国DOS联盟论坛 » 论坛回收站 » [求助]请问对输出的多行字符串如何处理?
楼 主 [求助]请问对输出的多行字符串如何处理? 发表于 2010-06-08 18:17 ·  中国 广东 东莞 联通
银牌会员
★★★
积分 1,282
发帖 538
注册 2002-11-02 00:00
UID 129
性别 男
状态 离线
gdisk32 1


显示结果如下:
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 ]
2 发表于 2010-06-20 01:10 ·  中国 山东 青岛 联通
新手上路
积分 12
发帖 9
注册 2006-04-21 09:20
UID 54178
状态 离线
这个我也不太明白,一起研究下好吗?

setlocal enabledelayedexpansion

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


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

你希望 id的值是什么样的?
3 发表于 2010-06-21 12:16 ·  中国 北京 联通
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
UID 116706
性别 男
状态 离线
既然是拼字符,那每次就要把变量原来的值加上去,看看这样行不行:


@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
4 发表于 2010-06-23 21:35 ·  中国 上海 电信
管理员
★★
积分 389
发帖 198
注册 2008-09-23 12:00
UID 126405
性别 男
状态 离线
对这个帖子删,还是不删,我一直在犹豫……

删,不需要理由多说了。
不删,对 chishingchan 不耻“下”问的精神表示赞赏,就应该有这种谦虚好学的精神。
5 Re 4 楼 发表于 2010-06-24 00:01 ·  新加坡 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
老会员的不删
新会员的必删

果然是中国特色的龟腚么?
6 Re: #5 发表于 2010-06-24 22:09 ·  中国 上海 电信
管理员
★★
积分 389
发帖 198
注册 2008-09-23 12:00
UID 126405
性别 男
状态 离线
不知你是如何理解我的回帖的。

删的理由我不需要多说。

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

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

所以这次 chishingchan 再次犯相同的错误我本来是比较恼火的,但看了这个比较值得人们学习的例子所以还是决定在这个版块放一段时间。
7 Re 6 楼 发表于 2010-06-26 10:30 ·  新加坡 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
如果每个人发帖的时候都表现的非常、极其、十分谦虚好学,那是不是每个帖子都不用删了呢?
8 Re: #7 发表于 2010-06-27 19:49 ·  中国 上海 杨浦区 电信
管理员
★★
积分 389
发帖 198
注册 2008-09-23 12:00
UID 126405
性别 男
状态 离线
看来你还是没有看明白我所说的要点,我在#5已经说的很清楚了。同样是好学, chishingchan 在于不耻“下”问。

其实如果我一开始就删掉这个帖子也就什么事都没有了,但我还是要保留下。
9 Re 8 楼 发表于 2010-06-28 15:23 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
老会员就叫“下”问?新会员就不叫“下”问?
这个论坛的新会员说不定在其他论坛是叱咤风云的人物呢?如果区分哪个是“下”问?
10 Re: #9 发表于 2010-06-28 20:19 ·  中国 上海 杨浦区 电信
管理员
★★
积分 389
发帖 198
注册 2008-09-23 12:00
UID 126405
性别 男
状态 离线
所谓的“上下”当然不是以新老来区分的,其实本来就无所谓上下,只是 chishingchan 的这句“别笑我是什么牌的会员”,说明他有一些思想认识上的误区,我之所以特地回帖就是为了消除这个误区。
我从来不认为有什么“叱咤风云的人物”,网络嘛本来就是来玩玩的,特别是技术性论坛,是来相互交流学习的,目的是为了学到知识,而不是为了做什么“叱咤风云的人物”。即便是现实生活中,叱咤风云的人物也只不过是历史的一颗尘埃而已。
11 发表于 2010-07-08 16:02 ·  中国 湖南 常德 电信
银牌会员
★★★
积分 1,384
发帖 709
注册 2005-10-29 22:22
UID 44271
状态 离线
不一定要删吧,移动一下也许更好……
12 发表于 2010-07-09 21:13 ·  中国 上海 杨浦区 电信
管理员
★★
积分 389
发帖 198
注册 2008-09-23 12:00
UID 126405
性别 男
状态 离线
决定移到回收站,此问题可以在相应版块重新发贴。
论坛跳转: