2014-02-09 50 views
0

我寫了一個腳本,用它來運行我運行的任何命令所需的時間,如ping google.com -n 1,我輸入時遇到了問題。Powershell腳本輸出中文字符的意思不是

當我運行在一個交互的shell代碼,它是好的,但是當我運行它作爲一個PowerShell .ps1腳本,它提出了這樣的中國文字:

〱䘠扥ㄠ㨰㈵瀉湩⁧潧杯敬挮浯ჰऱ㌲⸹ㄷ㔳獺਍

這是 「結果」,從ping google.com -n 1

不用說,我有點困惑,爲什麼它做這...

任何想法?


這是我的代碼:

$command = Read-Host "Enter command" 

"DateTime`tCommand`tTime Taken" | Out-file "$($command -replace '[^A-Za-z]','').csv" 

While (1) { 

    $time = date -f "dd MMM HH:mm" 

    $cmdtime = [string](
    Measure-Command {iex $command} 
    ).TotalMilliseconds + "ms" 

    "$($time)`t$($command)`t$($cmdtime)" | Out-File "$($command -replace '[^A-Za-z]','').csv" -a 

    Sleep 60; 
} 

回答

0

原因發生這種情況是因爲第一Out-File沒有足夠的-Encoding ASCII參數集,導致文件被使用非ASCII編碼創建!

+0

'$ OutputEncoding'的價值是什麼? – x0n

+0

它是'US-ASCII' –