中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-07 04:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for错误在哪里(已结) 查看 537 回复 4
楼 主 for错误在哪里(已结) 发表于 2008-01-14 17:17 ·  中国 广东 汕头 潮阳区 电信
高级用户
★★★
DOS时空
积分 713
发帖 348
注册 2007-02-10 13:59
19年会员
UID 79169
性别 男
状态 离线
wmic logicaldisk where "drivetype='3'" get caption > 1.txt
for /f "skip=1 tokens=1" %%i in (1.txt) do type %%i
pause

这里的FOR错在哪里了,如何不能显示1.TXT文件除一行以外其它行第一个字符。

[ Last edited by haiou327 on 2008-1-15 at 01:22 AM ]
2 发表于 2008-01-14 17:18 ·  中国 广东 汕头 潮阳区 电信
高级用户
★★★
DOS时空
积分 713
发帖 348
注册 2007-02-10 13:59
19年会员
UID 79169
性别 男
状态 离线
用ECHO替换TYPE也不能显示内容
3 发表于 2008-01-14 17:42 ·  中国 湖南 长沙 电信
初级用户
★★
积分 187
发帖 87
注册 2007-10-23 16:04
18年会员
UID 100558
性别 男
状态 离线
for /f "skip=1" %i in ('wmic logicaldisk where "drivetype='3'" get caption')do @echo %i
4 发表于 2008-01-14 19:13 ·  中国 广东 汕头 潮阳区 电信
高级用户
★★★
DOS时空
积分 713
发帖 348
注册 2007-02-10 13:59
19年会员
UID 79169
性别 男
状态 离线
谢楼上的,其它这样也可
wmic logicaldisk where "drivetype='3'" get caption > 1.txt
for /f "skip=1" %%i in ('type 1.txt') do @echo %%i
pause
5 发表于 2008-01-15 09:45 ·  中国 山西 运城 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
原因说穿了很简单
因为 wmic 的输出实际上 unicode 编码
for是不能直接支持这种编码文本的
而type是支持的
并且type向console的输出编码
会被转换为Cmd当前的默认编码(ANSI)
因此才会被for识别
''起到作用是类似的

应该说
所有输出到console的字符都会受到cmd缺省字符集的影响
论坛跳转: