Out-String
オブジェクトを一連の文字列としてホストに送信します。
構文
Out-String
[-Stream]
[-Width <Int32>]
[-InputObject <PSObject>]
[<CommonParameters>]
説明
Out-String
コマンドレットは、Windows PowerShell が管理するオブジェクトを文字列の配列に変換します。
デフォルトでは、 Out-String
は文字列を蓄積して 1 つの文字列として返しますが、 Stream パラメータを使用して、一度に 1 つの文字列を返すように Out-String
に指示できます。
このコマンドレットを使用すると、オブジェクトの操作があまり便利でない場合に、従来のシェルと同様に文字列出力を検索および操作できます。
例
例 1: テキストを文字列としてコンソールに出力する
PS C:\> Get-Content C:\test1\testfile2.txt | Out-String
このコマンドは、Testfile2.txt ファイルの内容を 1 つの文字列としてコンソールに送信します。
Get-Content
コマンドレットを使用して、ファイルの内容を取得します。
パイプライン演算子 (|) はコンテンツを Out-String
に送信し、 はコンテンツを文字列としてコンソールに送信します。
例 2: 現在のカルチャを取得し、データを文字列に変換する
最初のコマンドでは、 Get-Culture
コマンドレットを使用して地域設定を取得します。
パイプライン演算子 (|) は結果を Select-Object
コマンドレットに送信し、 Get-Culture
返されたカルチャ オブジェクトのすべてのプロパティ (*) が選択されます。
その後、コマンドは結果を $C
変数に格納します。
2 番目のコマンドでは、 Out-String
コマンドレットを使用して、 CultureInfo オブジェクトを一連の文字列 (プロパティごとに 1 つの文字列) に変換します。
InputObject パラメーターを使用して、$C
変数を Out-String
に渡します。
[幅] パラメーターは、切り捨てを防ぐために 1 行あたり 100 文字に設定されています。
PS C:\> $C = Get-Culture | Select-Object *
PS C:\> Out-String -InputObject $C -Width 100
これらのコマンドは、現在のユーザーの地域設定を取得し、データを文字列に変換します。
例 3: オブジェクトの操作
PS C:\> Get-Alias | Out-String -Stream | Select-String "Get-Command"
この例では、オブジェクトの操作と文字列の操作の違いを示します。
このコマンドは、"Get-Command" という語句を含むエイリアスを表示します。
Get-Alias
コマンドレットを使用して、一連の AliasInfo オブジェクト (現在のセッションのエイリアスごとに 1 つ) を取得します。
パイプライン演算子 (|) は、 Get-Alias
コマンドレットの出力を Out-String
コマンドレットに送信し、 コマンドレットによってオブジェクトが一連の文字列に変換されます。
の Out-String
パラメーターを使用して、各文字列を 1 つの文字列に連結するのではなく、各文字列を個別に送信します。
別のパイプライン演算子が文字列を Select-String
コマンドレットに送信し、 コマンドレットによって、文字列内の任意の場所に "Get-Command" が含まれる文字列が選択されます。
Stream パラメーターを省略すると、Select-String
が返す 1 つの文字列で "Get-Command" が見つかOut-String
、フォーマッタでは文字列がテーブルとして表示されるため、コマンドではすべてのエイリアスが表示されます。
パラメーター
-InputObject
文字列に書き込むオブジェクトを指定します。 オブジェクトを含む変数を入力するか、オブジェクトを取得するコマンドまたは式を入力します。
型: | PSObject |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Stream
コマンドレットが各オブジェクトの文字列を個別に送信することを示します。 デフォルトでは、各オブジェクトの文字列は蓄積され、1 つの文字列として送信されます。
Stream パラメーターを使用するには、「-Stream
」またはそのエイリアス「ost
」と入力します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Width
出力の各行の文字数を指定します。 追加の文字は、ラップされずに切り捨てられます。 Width パラメーターは、書式設定されているオブジェクトにのみ適用されます。 このパラメーターを省略すると、幅はホスト・プログラムの特性によって決まります。 Windows PowerShell コンソールの既定値は 80 (文字) です。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
オブジェクトを Out-String
にパイプできます。
出力
Out-String
入力オブジェクトから作成した文字列を返します。
メモ
- オブジェクトの書式を設定しない Out 動詞を含むコマンドレット。それらをレンダリングし、指定された表示先に送信するだけです。 書式設定されていないオブジェクトを Out コマンドレットに送信すると、レンダリングする前に、そのオブジェクトが書式設定コマンドレットに送信されます。
- Out コマンドレットには、名前やファイル パスを受け取るパラメーターはありません。 Out コマンドレットにデータを送信するには、パイプライン演算子 (|) を使用して、Windows PowerShell コマンドの出力をコマンドレットに送信します。 また、変数にデータを格納し、InputObject パラメーターを使用して、コマンドレットにデータを渡すこともできます。