首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编辑WMIC输出格式

编辑WMIC输出格式
EN

Stack Overflow用户
提问于 2013-10-19 03:29:56
回答 2查看 13.5K关注 0票数 4
代码语言:javascript
运行
复制
wmic OS get FreePhysicalMemory,TotalVisibleMemorySize /Format:Textvaluelist > Output.txt  

在批处理中使用上面的命令,我得到的输出是,

代码语言:javascript
运行
复制
FreePhysicalMemory=1140860
TotalVisibleMemorySize=2095492

我想在等于(=)号之后加上一个空格,这样看起来就像;

代码语言:javascript
运行
复制
FreePhysicalMemory= 1140860
TotalVisibleMemorySize= 2095492

我正在尝试使用以下方法,但会出错:命令的语法不正确,

代码语言:javascript
运行
复制
For /F "tokens=1 delims==" %%A in ('wmic OS get FreePhysicalMemory,TotalVisibleMemorySize /Format:Textvaluelist') do 
echo %%A %%B > Output.txt  

或者是否有其他方法可以使用批处理以所需的格式获得输出?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-19 06:09:09

首先,您将考虑将WMIC输出编码从Unicode转换为ANSI到ommit unicode字符(就像空回波一样),一个简单的技巧就是使用FIND/FINDSTR命令过滤输出,在应用了输出过滤器之后,只需使用FOR /F读取输出以使用所需的tokens值和delims分隔符拆分字符串。

以下是代码:

代码语言:javascript
运行
复制
@Echo OFF

(For /F "Tokens=1,* Delims==" %%A in (
    'wmic OS get FreePhysicalMemory^,TotalVisibleMemorySize /Format:list ^| FINDSTR "[0-9]"'
)DO (
    Echo %%A= %%B
))>"File.txt"

Pause&Exit
票数 2
EN

Stack Overflow用户

发布于 2013-10-19 05:05:08

可能是一只奇怪的野兽。这在Windows 8 32位中是可行的。

需要额外的代码来删除拖尾回车。

代码语言:javascript
运行
复制
@echo off
setlocal enabledelayedexpansion
(For /F "tokens=1,* delims==" %%A in ('"wmic OS get FreePhysicalMemory,TotalVisibleMemorySize /value |find "M" "') do (
set "line=%%A= %%B"
set "line=!line:~0,-1!"
echo !line!
))>output.txt
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19462042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档