使用>>附加到Windows中的文件显示奇怪的人物

时间:2017-08-28 20:13:03

标签: windows append command-prompt

我试图在从windows命令写入输出后将字符串“KB”附加到文件中:

C:\Users\Administrator> wmic OS get FreePhysicalMemory > C:\temp\temp.txt
C:\Users\Administrator> echo KB >> C:\temp\temp.txt

但在记事本中我看到一些奇怪的东方字符而不是KB

FreePhysicalMemory  
1441960             
䉋ഠ∊䉋•਍਍ 

我希望看到文本“FreePhysicalMemory 1441960 KB”。 如果可能的话,我希望在数字后面有KB,而不是在新行上。 一旦我这样做,我将使用该文件与另一个程序(InterSystemsCaché)并将其放在另一个html文件中,但这不应该。

1 个答案:

答案 0 :(得分:2)

wmic将输出写为UTF-16LE(带有BOM),当您将ASCII字符附加到tends to look Chinese时。

您可以强制cmd.exe也使用/ U开关写入UTF-16:

wmic OS get FreePhysicalMemory > out.txt
cmd /U /C echo kb ^>^> out.txt

将它作为单行写入比它应该复杂得多。

FOR /F "delims=" %A IN ('wmic OS get FreePhysicalMemory /Format:list ^| more') do @FOR /F "tokens=1,* delims==" %B in ("%A") do @echo.%B %C KB > out.txt

more转换为Serial.available()转换为UTF-16和second for loop removes empty lines