在cmd命令的重定向输出中插入空格/空值

问题描述 投票:3回答:3

当我运行命令时

wmic memorychip get capacity

从cmd窗口中的命令行,屏幕上的输出看起来像:

Capacity    
2147483648 

但是,如果我将此命令添加到批处理文件中,并尝试将输出重定向到文件,例如:

wmic memorychip get capacity >> %LOG%

((%LOG%只是我要附加数据的日志文件),它被保存为以下日志文​​件:

C a p a c i t y         

 2 1 4 7 4 8 3 6 4 8     

这里在每个字符前插入空格。在Notepad ++中,它显示已插入NUL,由于某种原因,我无法将其粘贴到这里:(

有人知道为什么以这种方式更改输出以及如何避免这种转换吗?

batch-file null output spaces
3个回答
2
投票
确定为Unicode。

0
投票
问题在于,wmic可在unicode中运行,而cmd在ascii中。请尝试以下操作:

0
投票
如果您有输出文件,但无法再次运行原始命令,则cat original.txt | tr -d "\00" > cleaned.txt将生成一个新文件,其中删除了空字符。该命令假定可以使用常见的Unix Shell工具,例如BusyBox提供的工具。
© www.soinside.com 2019 - 2024. All rights reserved.