找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24594|回复: 4

[文本处理] 批处理命令for /f为何无法读取txt内容?

[复制链接]
发表于 2012-4-13 14:40:16 | 显示全部楼层 |阅读模式
求助,最近需要写一些批量修改的脚本。但是对于批处理使用非常生疏 一段很简单的代码总是运行出错 请求大家的帮助
  1. wmic csproduct get identifyingnumber /value > temp.txt
  2. for /f %%i in (temp.txt) do set host_name=%%i
  3. echo %host_name%
复制代码
很简单的一个命令 但是就是无法读取这个新生成文件里的内容,尝试读取其他已经存在的txt文件都没有问题 感到很奇怪
有什么错的地方吗?
发表于 2012-4-13 15:14:43 | 显示全部楼层
  1. for /f "skip= tokens=1,2,3* usebackq delims=" %%a in ("音频 说明.txt") do echo %%a
复制代码


参照
 楼主| 发表于 2012-4-13 15:37:23 | 显示全部楼层
补充一点。

  1. for /f %%i in (temp.txt) do set host_name=%%i
复制代码
这条命令我觉得应该是没有错的 因为如果我把temp改成直接在windows里建立的txt文件打开都是没有问题的 我也测试的好几次
  1. wmic csproduct get identifyingnumber /value > temp.txt
复制代码
我想了下 是不是这里获取的数据写入txt 的编码不对?导致无法读取?要如何解决?
发表于 2012-4-13 15:50:00 | 显示全部楼层
wmic生成的temp.txt是unicode格式
  1. wmic csproduct get identifyingnumber /value>temp.txt
  2. for /f %%i in ('type temp.txt') do set "aa=%%i"
  3. echo %aa%
  4. pause
复制代码
  1. @echo off
  2. for /f %%i in ('wmic csproduct get identifyingnumber /value^|findstr "="') do set "aa=%%i"
  3. echo %aa%
  4. pause
复制代码

评分

参与人数 1PB +6 技术 +1 收起 理由
Hello123World + 6 + 1 乐于助人

查看全部评分

 楼主| 发表于 2012-4-13 16:29:14 | 显示全部楼层
已解决 非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 22:24 , Processed in 0.019720 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表