次の方法で共有


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

入力

PSObject

オブジェクトを Out-Stringにパイプできます。

出力

String

Out-String 入力オブジェクトから作成した文字列を返します。

メモ

  • オブジェクトの書式を設定しない Out 動詞を含むコマンドレット。それらをレンダリングし、指定された表示先に送信するだけです。 書式設定されていないオブジェクトを Out コマンドレットに送信すると、レンダリングする前に、そのオブジェクトが書式設定コマンドレットに送信されます。
  • Out コマンドレットには、名前やファイル パスを受け取るパラメーターはありません。 Out コマンドレットにデータを送信するには、パイプライン演算子 (|) を使用して、Windows PowerShell コマンドの出力をコマンドレットに送信します。 また、変数にデータを格納し、InputObject パラメーターを使用して、コマンドレットにデータを渡すこともできます。