作者:haiou327 | 时间:2008-01-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-01-14 17:18
用ECHO替换TYPE也不能显示内容
作者:regvip2008 | 时间:2008-01-14 17:42
for /f "skip=1" %i in ('wmic logicaldisk where "drivetype='3'" get caption')do @echo %i
作者:haiou327 | 时间:2008-01-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-01-15 09:45
原因说穿了很简单
因为 wmic 的输出实际上 unicode 编码
for是不能直接支持这种编码文本的
而type是支持的
并且type向console的输出编码
会被转换为Cmd当前的默认编码(ANSI)
因此才会被for识别
''起到作用是类似的
应该说
所有输出到console的字符都会受到cmd缺省字符集的影响