以一系列的字串將物件傳送到主機。

語法

Out-String [-InputObject <psobject>] [-Stream] [-Width <int>] [<CommonParameters>]

描述

Out-String Cmdlet 會將 Windows PowerShell 所管理的物件轉換成字串陣列。根據預設,Out-String 會累積字串,並將它們當作單一字串傳回,但是您也可以使用 Stream 參數,指示 Out-String 一次傳回一個字串。當操作物件不方便時,這個 cmdlet 可讓您如同在傳統殼層一般搜尋並操作字串輸出。

參數

-InputObject <psobject>

指定要寫入字串的物件。請輸入包含物件的變數,或輸入可取得物件的命令或運算式。

必要?

false

位置?

named

預設值

接受管線輸入?

true (ByValue)

接受萬用字元?

false

-Stream

將每個物件的字串分開傳送。預設情況下,會將每個物件的字串累積,再以單一字串的形式傳送。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Width <int>

指定輸出的每一行字元數。任何多餘的字元都會被截斷,而非自動換行。如果省略此參數,則由主機的特性決定寬度。PowerShell.exe 主機預設為 80 個字元。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

System.Management.Automation.PSObject

您可經由管道將物件輸出至 Out-String。

輸出

System.String

Out-String 會傳回它根據輸入物件所建立的字串。

附註

包含 Out 動詞的 Cmdlet (Out Cmdlet) 不會將物件格式化,而是單僅轉譯物件再傳送到指定的顯示目的地。若將尚未格式化的物件傳送給 Out cmdlet,cmdlet 便會在轉譯前先將物件傳送給格式化 cmdlet。

Out cmdlet 沒有名稱參數或檔案路徑參數。若要傳送資料給 Out Cmdlet,請使用管線運算子 (|) 將 Windows PowerShell 命令的輸出傳送給 Cmdlet。您也可以將資料儲存至變數,再使用 InputObject 參數將資料傳遞給 cmdlet。如需詳細資訊,請參閱範例。

範例 1

C:\PS>get-content C:\test1\testfile2.txt | out-string

描述
-----------
這個命令將 Testfile2.txt 檔案的內容當作單一字串傳送到主控台。它會使用 Get-Content Cmdlet 來取得檔案的內容。管線運算子 (|) 會將內容傳送給 Out-String,後者再將內容當作字串傳送到主控台。






範例 2

C:\PS>$c = get-culture | select-object *

C:\PS> out-string -inputobject $c -width 100

描述
-----------
這些命令會取得目前使用者的地區設定,並將資料轉換為字串。第一個命令會使用 Get-Culture Cmdlet 來取得地區設定。管線運算子 (|) 會將結果傳送到 Select-Object Cmdlet,後者再選取 Get-Culture 所擷取之文化特性物件的所有屬性 (*)。此命令接著將結果儲存在 $c 變數中。

第二個會命令使用 Out-String,將 CultureInfo 物件轉換為一連串的字串 (每個屬性各一個字串)。它會使用 InputObject 參數將 $c 變數傳遞給 Out-String。寬度參數設定為每行 100 個字元以避免被截斷。






範例 3

C:\PS>get-alias | out-string -stream | select-string "Get-Command"

描述
-----------
這個命令會顯示包含片語 "Get-Command" 的別名。它會使用 Get-Alias Cmdlet 來取得一組 AliasInfo 物件 (目前工作階段中的每個別名各取一個物件)。這個範例會示範使用物件與使用字串之間的差異。

管線運算子 (|) 會將 Get-Alias 的輸出傳送到 Out-String,後者再將物件轉換為一連串的字串。它會使用 Stream 參數個別傳送每個字串,而不是將它們串連成單一字串。另一個管線運算子則將字串傳送到 Select-String,後者再選取內含 "Get-Command" 的字串。

如果您省略 Stream 參數,命令將會顯示所有的別名,因為 Select-String 會在 Out-String 傳回的單一字串中尋找 "Get-Command",而且格式器會以表格來顯示字串。






請參閱




目錄