WMIC.bat文件将无法正确导出/输出

时间:2015-12-03 20:41:55

标签: windows batch-file cmd output wmic


我正在尝试在CMD中运行包含以下内容的批处理文件,

  

wmic csproduct
  wmic cpu得到名字
  wmic diskdrive获取型号,尺寸
  ipconfig / all

当我将其复制并粘贴到CMD中时,我能够看到命令运行。我成功地将所有数据复制并粘贴到文本文档中而没有问题。

问题:当我尝试将此确切文件导出/输出到.txt或.rtf时,

  

C:> 1.bat> 1.txt的

“ipconfig”正确拉,但WMIC命令不会给我任何问题并正确输出到文件。但是,我是否将此批次导出/输出为.txt或.rtf,

WMIC命令在输出文件中的每个字符之间留有空格或NUL。

我将打开文件

  

C:\ Windows \ system32> wmic csproduct   选择使用本地编号和使用本地编号使用的操作本人使用本地编号和使用说明书进行操作    计算机应用程序计算机应用程序计算机应用程序的计算结果。 E. M.请注意O. E. M. C D 4 A E B A 0 - B 7 4 F - 1 2 D C - 8 F B A - 6 0 A 4 4 D 6 3 9 A B E T o b e f i l e d b o O. E. M.请注意O. E. M。
  C:\ Windows \ system32> ipconfig / all

     

Windows IP配置

     

主机名。 。 。 。 。 。 。 。 。 。 。 。 :octocore
     主要Dns后缀。 。 。 。 。 。 。 :
  ...等等...等

有没有办法导出/输出这个“组合批次”以便正确拉出?

附:我试图阅读[https://superuser.com/questions/812438/combine-batch-wmic-ansi-unicode-output-formatting][1],但我的问题实际上包含来自一个批处理文件的wmic和本机命令。

[1]:https://superuser.com/questions/812438/combine-batch-wmic-ansi-unicode-output-formatting

P.P.S.这是我在StackOverflow中的第一篇文章,所以提前谢谢你! :)

2 个答案:

答案 0 :(得分:2)

WMIC输出为unicode。将每个wmic输出管道传输到more

> 创建一个新文件。>> 创建一个新文件(如果尚未存在)并追加到该文件如果它存在。

所以,治愈似乎是

wmic csproduct | more
wmic cpu get name | more
wmic diskdrive get model,size | more
ipconfig /all

答案 1 :(得分:0)

我喜欢@Magoo 的回答!我只是创建了一个批处理文件,以便向您展示使用和不使用 More 命令将结果导出到文本文件的行为的区别。

@echo off
REM https://stackoverflow.com/questions/34075745/wmic-bat-file-will-not-export-output-properly?answertab=active#tab-top
Title WMIC.bat file will not export/output properly
set "WithoutMore=%~dp0WithoutMore.txt"
set "WithMore=%~dp0WithMore.txt"

(
    wmic csproduct
    wmic cpu get name,AddressWidth,Description
    wmic diskdrive get model,size
    WMIC PATH Win32_Battery Get EstimatedChargeRemaining
    ipconfig /all
)>"%WithoutMore%"

Start "" "%WithoutMore%"

(
    wmic csproduct
    wmic cpu get name,AddressWidth,Description
    wmic diskdrive get model,size
    WMIC PATH Win32_Battery Get EstimatedChargeRemaining
    ipconfig /all
) | more>"%WithMore%"

Start "" "%WithMore%"