中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 05:31
48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » for错误在哪里(已结)
可打印版本  538 / 4
第1楼 haiou327 发表于 2008-01-14 17:17
高级用户 发帖 348 积分 713
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 ]
第2楼 haiou327 发表于 2008-01-14 17:18
高级用户 发帖 348 积分 713
用ECHO替换TYPE也不能显示内容
第3楼 regvip2008 发表于 2008-01-14 17:42
初级用户 发帖 87 积分 187
for /f "skip=1" %i in ('wmic logicaldisk where "drivetype='3'" get caption')do @echo %i
第4楼 haiou327 发表于 2008-01-14 19:13
高级用户 发帖 348 积分 713
谢楼上的,其它这样也可
wmic logicaldisk where "drivetype='3'" get caption > 1.txt
for /f "skip=1" %%i in ('type 1.txt') do @echo %%i
pause
第5楼 qzwqzw 发表于 2008-01-15 09:45
银牌会员 发帖 636 积分 2,343
原因说穿了很简单
因为 wmic 的输出实际上 unicode 编码
for是不能直接支持这种编码文本的
而type是支持的
并且type向console的输出编码
会被转换为Cmd当前的默认编码(ANSI)
因此才会被for识别
''起到作用是类似的

应该说
所有输出到console的字符都会受到cmd缺省字符集的影响
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023