Re: [問題] C# 使用PowerShell指令 卻出現亂碼

看板C_Sharp作者 (LOUIS￾N)時間1年前 (2022/07/21 14:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《pleaselouis (LOUIS￾N)》之銘言: : 我在檔案總管 選擇: 檔案->開啟 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了很久 但是沒有找到解決辦法 請麻煩大家給我 : 意見 謝謝 剛剛在巴哈姆特的 程式設計版 有強者大大 教我怎麼做了 AddScript(cmd01) 前面多一行「AddScript("[console]::OutputEncoding = New-Object System.Text.UnicodeEncoding")」 感謝網路上的各位強者大大的協助 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.95.103 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1658384661.A.C33.html
文章代碼(AID): #1YsF4Lmp (C_Sharp)
文章代碼(AID): #1YsF4Lmp (C_Sharp)