Board logo

标题: for错误在哪里(已结) [打印本页]

作者: haiou327     时间: 2008-1-14 17:17    标题: for错误在哪里(已结)

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 ]
作者: haiou327     时间: 2008-1-14 17:18
用ECHO替换TYPE也不能显示内容
作者: regvip2008     时间: 2008-1-14 17:42
for /f "skip=1" %i in ('wmic logicaldisk where "drivetype='3'" get caption')do @echo %i
作者: haiou327     时间: 2008-1-14 19:13
谢楼上的,其它这样也可
wmic logicaldisk where "drivetype='3'" get caption > 1.txt
for /f "skip=1" %%i in ('type 1.txt') do @echo %%i
pause
作者: qzwqzw     时间: 2008-1-15 09:45
原因说穿了很简单
因为 wmic 的输出实际上 unicode 编码
for是不能直接支持这种编码文本的
而type是支持的
并且type向console的输出编码
会被转换为Cmd当前的默认编码(ANSI)
因此才会被for识别
''起到作用是类似的

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