![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 Louis Chen ![]()
![]() |
我在檔案總管 選擇: 檔案->開啟 Windows PowerShell 然後輸入指令 wsl -l -v 視窗會輸出以下的資訊 PS D:\WSL Manager> wsl -l -v NAME STATE VERSION * Ubuntu Stopped 2 PS D:\WSL Manager> 但是如果我在VC# 裡面寫CODE: PowerShell PowerShellInstance1 = PowerShell.Create(); var cmd01 = "wsl -l -v"; PowerShellInstance1.AddScript(cmd01); foreach (PSObject result in PowerShellInstance1.Invoke()) { infoRichTextBox.AppendText(result.ToString() + "\n"); } 在 infoRichTextBox.AppendText(result.ToString() + "\n"); 這一行定中斷 會看到 result變數裡面存的是亂碼 " \0 \0N\0A\0M\0E\0 \0 \0 \0 \0 \0 \0S\0T\0A\0T\0E\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0V\0E\0R\0S\0I\0O\0N\0" 請問有人知道是怎麼回事嗎?? 我Google了很久 但是沒有找到解決辦法 請麻煩大家給我意見 謝謝
搜尋相關Tags的文章:
[ C# Powershell ] ,
本篇文章發表於2022-07-21 11:53 |
1樓
作者回應
Louis Chen ![]() |
剛剛在巴哈討論區 有強者大大教我了
AddScript(cmd01) 前面多一行「AddScript("[console]::OutputEncoding = New-Object System.Text.UnicodeEncoding")」 即可
本篇文章回覆於2022-07-21 14:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |