![]() |
中国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 |