我正在尝试在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 / allWindows 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中的第一篇文章,所以提前谢谢你! :)
答案 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%"