Board logo

标题: [其他] [已解决]批处理获取硬件信息wmic输出的文本编码问题 [打印本页]

作者: hnfeng    时间: 2024-8-27 11:31     标题: [已解决]批处理获取硬件信息wmic输出的文本编码问题

想用批处理获取硬件信息,输出到文本文件中
  1. @echo off
  2. (
  3. echo BASEBOARD:
  4. wmic BASEBOARD get Manufacturer,Product
  5. echo.
  6. echo CPU:
  7. wmic cpu get Name
  8. )>Out.txt
  9. pause
复制代码
获得的Out.txt编码自动成了 UTF格式了(我想要ANSI)
CMD窗口里面
  1. wmic BASEBOARD get Manufacturer,Product >Out.txt
复制代码
得到的就是ANSI,但是在批处理里面却是UTF

求助:怎样让 wmic 输出 ANSI 结果呢?
作者: aloha20200628    时间: 2024-8-27 12:13

本帖最后由 aloha20200628 于 2024-8-27 12:16 编辑

回复 1# hnfeng
最简之道还是用老办法...
  1. @echo off
  2. (
  3.   echo BASEBOARD:
  4.   wmic BASEBOARD get Manufacturer,Product
  5.   echo.
  6.   echo CPU:
  7.   wmic cpu get Name
  8. )|more>Out.txt
  9. pause
复制代码

作者: hnfeng    时间: 2024-8-27 12:28

回复 2# aloha20200628


    这么神奇!厉害!谢谢帮忙

只是结果文件中好多空行,有无办法在批处理里面顺带处理一下?
作者: Five66    时间: 2024-8-27 13:31

将wmic命令套进for /f里
作者: aloha20200628    时间: 2024-8-27 14:09

本帖最后由 aloha20200628 于 2024-8-27 14:19 编辑

回复 3# hnfeng
  1. @echo off
  2. echo,BASEBOARD:>0.1
  3. wmic BASEBOARD get Manufacturer,Product /format:table>0.2
  4. echo,CPU:>0.3
  5. wmic cpu get Name /format:table>0.4
  6. type 0.1 0.2 0.3 0.4>out.txt 2>nul
  7. del "0.?"&exit/b
复制代码

echo,... 用ansi编码,wmic ... 用u16+编码,二者须分开输出,没有多余空行,再由 type 转编码一气呵成...

作者: hnfeng    时间: 2024-8-27 14:19

回复 5# aloha20200628


    多谢多谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2