楼 主
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
性别 男
状态 离线
第 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缺省字符集的影响
论坛跳转: