Powershell使用非ascii字符获取内容到msg.exe乱码

时间:2015-11-05 10:03:11

标签: powershell cmd msg

我正在尝试使用msg.exe将txt文件的内容显示给远程计算机。

txt文件(text.txt)包含非ascii字符:

中文
英文
日文

当我尝试使用以下命令时,弹出窗口无法正确显示字符。

Get-Content text.txt | msg <user> <server name>

我研究了以下代码,作者声称这些代码有效。然而;我不让他们工作。 txt文件的内容无法在弹出窗口中整体显示。每一行都会触发一个窗口弹出。

https://social.technet.microsoft.com/Forums/office/en-US/bf1a5583-7779-4009-a26a-321f70deca88/getcontent-to-msg-special-characters?forum=winserverpowershell

第一个:

$content = Get-Content C:\Powershell\test.txt
Invoke-Command -ComputerName <Computer01>,<Computer02> {msg * $args[0]} -ArgumentList $content

另一个:

Get-Content test.txt |%{msg * $_} 

有没有什么方法可以解决msg.exe的stdin问题?

1 个答案:

答案 0 :(得分:1)

你可以尝试使用它,它似乎对我有用:

Get-Content D:\temp\test.txt -Encoding UTF8 |%{msg * $_} 

它给出了:

enter image description here

我使用this文件。

要获得完整的信息:

Get-Content D:\temp\test.txt -Encoding UTF8 -Raw |%{msg * $_} 

enter image description here