9
使用tee-object時,有什麼方法可以阻止PowerShell消除控制檯消息的顏色?PowerShell在使用tee-object時刪除控制檯消息的顏色
當我不開球的對象來看,我得到了很好的錯誤和詳細的PowerShell消息的顏色是這樣的:
powershell.exe -noprofile -file $project_root/test_main.ps1
with color http://i32.tinypic.com/250779w.jpg
然而,當我使用T形物體(B/C我想登錄到控制檯&文件),該消息的顏色沒有在控制檯上顯示(我知道該文件將不會顯示它)是這樣的:
powershell.exe -noprofile -file $project_root/test_main.ps1 | tee-object -FilePath $log
no color http://i29.tinypic.com/bzpc2.jpg
如果powershell只是使用tee-object將輸出分割爲除控制檯以外的文件,爲什麼我會丟失控制檯格式?
我明白您的意思;但是,我無法獲得該命令方法工作 第一個錯誤是「您必須在'/'運算符的右側提供一個值表達式」我試圖逃避它沒有運氣 然後我試着讓「$ path \ test_main .ps1 | tee-object $ log「a $命令var,所以我打電話給 powershell.exe -noprofile -command {$ command} 但是當我調用一個不存在的腳本時,它甚至不會調用腳本或拋出錯誤。 正如你所看到的基思,我在工作g關閉你的博客文章「Effective PowerShell Item 14:捕獲腳本中的所有輸出」以捕獲並記錄所有輸出:) – DetectiveEric 2010-07-22 14:47:45
如果從PowerShell.exe運行該命令,它應該可以工作(至少它對我來說是我的測試腳本)。如果你在PowerShell之外的其他地方運行,使用'... -command「&{$ path \ test_main.ps1 | tee-object $ log}」'。 – 2010-07-22 15:03:32
RE「捕獲腳本中的所有輸出」 - 當PowerShell 2.0發行時沒有解決腳本日誌記錄問題,我感到非常失望。 :-( – 2010-07-22 15:05:33