PowerShell
PowerShellの "ストリーム"。デバッグ、冗長、警告、エラー、出力、および情報
サーチ…
備考
書き込み出力
Write-Output
生成します。この出力は、パイプラインの後の次のコマンドまたはコンソールに表示されるので、単純に表示されます。
コマンドレットは、オブジェクトをプライマリパイプライン(「出力ストリーム」または「成功パイプライン」とも呼ばれます)に送ります。エラーオブジェクトをエラーパイプラインに送信するには、Write-Errorを使用します。
# 1.) Output to the next Cmdlet in the pipeline
Write-Output 'My text' | Out-File -FilePath "$env:TEMP\Test.txt"
Write-Output 'Bob' | ForEach-Object {
"My name is $_"
}
# 2.) Output to the console since Write-Output is the last command in the pipeline
Write-Output 'Hello world'
# 3.) 'Write-Output' CmdLet missing, but the output is still considered to be 'Write-Output'
'Hello world'
- Write-Outputコマンドレットは、指定されたオブジェクトをパイプラインを介して次のコマンドに送信します。
- コマンドがパイプラインの最後のコマンドである場合、オブジェクトはコンソールに表示されます。
- PowerShellインタプリタはこれを暗黙的なWrite-Outputとして扱います。
Write-Output
のデフォルトの動作はパイプラインの最後にオブジェクトを表示するためですが、通常はCmdletを使用する必要はありません。たとえば、 Get-Process | Write-Output
はGet-Process
と同等です。
設定を書き込む
メッセージは次のように書くことができます。
Write-Verbose "Detailed Message"
Write-Information "Information Message"
Write-Debug "Debug Message"
Write-Progress "Progress Message"
Write-Warning "Warning Message"
これらのそれぞれには優先変数があります。
$VerbosePreference = "SilentlyContinue"
$InformationPreference = "SilentlyContinue"
$DebugPreference = "SilentlyContinue"
$ProgressPreference = "Continue"
$WarningPreference = "Continue"
プリファレンス変数は、メッセージとそれに続くスクリプトの実行方法を制御します。
$InformationPreference = "SilentlyContinue"
Write-Information "This message will not be shown and execution continues"
$InformationPreference = "Continue"
Write-Information "This message is shown and execution continues"
$InformationPreference = "Inquire"
Write-Information "This message is shown and execution will optionally continue"
$InformationPreference = "Stop"
Write-Information "This message is shown and execution terminates"
メッセージの色は、次のように設定することでWrite-Error
制御できます。
$host.PrivateData.ErrorBackgroundColor = "Black"
$host.PrivateData.ErrorForegroundColor = "Red"
Write-Verbose
、 Write-Debug
、 Write-Warning
についても同様の設定が可能です。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow