15

tee-objectを使用しているときにPowerShellがコンソールメッセージの色を削除しないようにする方法はありますか?

tee-objectなしで実行すると、次のような素晴らしいエラーと冗長なPowerShellメッセージの色が表示されます。

powershell.exe -noprofile -file $project_root/test_main.ps1

色付き

ただし、tee-object(b / cコンソールとファイルにログを記録したい)を使用している場合、メッセージの色は次のようにコンソールに表示されません(ファイルに表示されないことはわかっています)。

powershell.exe -noprofile -file $project_root/test_main.ps1 | tee-object -FilePath $log

色なし

PowerShellがtee-objectを使用して、コンソールに加えて出力をファイルに分割している場合、コンソールの書式設定が失われるのはなぜですか?

4

1 に答える 1

5

代わりにこれを試してください:

powershell.exe -noprofile -command { $path\test_main.ps1 | tee-object $log }

これは、この部分が最初に実行されるために発生します。

powershell.exe -noprofile -file $project_root/test_main.ps1 

tee-objectが見るのは、ネイティブEXEの出力です。また、AFAICTでは、PowerShellはネイティブEXEからのstderr出力を出力(または強調表示)しません(たとえば、エラーストリームをリダイレクトしない限り)2>err.log

于 2010-07-21T23:10:08.050 に答える