以一系列的字串將物件傳送到主機。
語法
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",而且格式器會以表格來顯示字串。
請參閱