Tee-Object
コマンド出力をファイルまたは変数に保存し、コンソールに表示します。
構文
Tee-Object [-FilePath] <string> [-InputObject <psobject>] [<CommonParameters>]
Tee-Object -変数 <string> [-InputObject <psobject>] [<CommonParameters>]
説明
Tee-Object コマンドレットは、"T" 字形のようにコマンド出力を 2 方向に送信します。ファイルまたは変数に出力を保存し、パイプラインにも送信します。Tee-Object がパイプラインの最後のコマンドである場合は、コマンドの出力がコンソールに表示されます。
パラメーター
-FilePath <string>
オブジェクトを保存するファイルを指定します。ワイルドカードを使用できますが、単一の名前に解決されるものであることが必要です。
必須 |
true |
位置 |
1 |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-InputObject <psobject>
コマンドレットに入力するオブジェクトを指定します。オブジェクトが格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
true (ByValue) |
ワイルドカード文字を許可する |
false |
-変数 <string>
指定された変数に入力オブジェクトへの参照を代入します。
必須 |
true |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.Management.Automation.PSObject パイプを使用して、リダイレクトするオブジェクトを Tee-Object に渡すことができます。 |
出力 |
System.Management.Automation.PSObject Tee-Object は、リダイレクトするオブジェクトを返します。 |
注
また、Out-File コマンドレットやリダイレクション演算子も使用できます。この 2 つは、出力をファイルに保存しますが、パイプラインに渡すことはしません。
Tee-Object は、ファイルへの書き込み時に Unicode エンコードを使用します。結果として、異なるエンコードのファイルでは出力が適切にフォーマットされない場合があります。エンコード方式を指定するには、Out-File コマンドレットを使用します。
例 1
C:\PS>get-process | tee-object -filepath C:\Test1\testfile2.txt
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
83 4 2300 4520 39 0.30 4032 00THotkey
272 6 1400 3944 34 0.06 3088 alg
81 3 804 3284 21 2.45 148 ApntEx
81 4 2008 5808 38 0.75 3684 Apoint
...
説明
-----------
このコマンドは、コンピューター上で実行しているプロセスの一覧を取得し、その結果をファイルに送ります。2 番目のパスが指定されていないため、結果はコンソールに表示されます。
例 2
C:\PS>get-process notepad | tee-object -variable proc | select-object processname,handles
ProcessName Handles
----------- -------
notepad 43
notepad 37
notepad 38
notepad 38
説明
-----------
このコマンドは、コンピューター上で実行しているプロセスの一覧を取得し、結果を "proc" という変数に送ります。結果のオブジェクトはパイプを使用して Select-Object に渡され、ProcessName および Handles プロパティが選択されます。$proc 変数には、Get-Process が返した既定の情報が含まれていることに注意してください。