Write-Host
は通常、物事を行うための最善の方法直感的かそうでないいくつかのことを行いますので、私はそれを使用してからあなたを落胆します。代わりに、Write-Verbose
とWrite-Output
をチェックしてください(または可能性をすべて確認するにはGet-Help Write-*
を試してください)。
INPUT:
Write-Host
予期しないことができる方法で入力を変更します。 string
、int
または他のよく知られているタイプを出力するとき、その入力の内容を出力します。しかし、あなたが見て混乱したと確信しているように、Write-Host
のコンテンツが出力されないタイプもあります。代わりに、入力のタイプを出力するだけです。ほとんどの場合、これはかなり役に立たない。
OUTPUT:自身の入力を書き込み、または機能にreturn
を書き込むと同じ形式で
Write-Host
出力します。彼らはstring
種類だけでなく、いくつかの他の人のために同等であることをもう一度
$str
Write-Host $str
return $str #in context of a function
注意が、Write-Host
は、他のタイプのための奇妙な方法で入力を操作することができる。これらの3つは、たとえば、文字列型のために同等に使用することができます。
一般に、Write-Host
を使用することはお勧めしません。コンソールにデバッグ/出力するには、Write-Verbose
を使用します。パイプラインまたは関数から出力するには、変数を単独で記述します。この意志出力我々はPowerShellで使用するために使用されている素敵な辞書形式のフォーマット:
PS C:\Windows\system32> write-host $dict
System.Collections.DictionaryEntry System.Collections.DictionaryEntry
:に比べ
PS C:\Windows\system32> $dict
Name Value
---- -----
key value
{test, test2} 1