Write-Output
將指定的物件寫入管線。
語法
Default (預設值)
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
Description
將指定的物件寫入管線。 如果 Write-Output 是管線中的最後一個指令,物件會顯示在主控台中。
Write-Output 將物件傳送至主要管線,也稱為 成功串流。 要將錯誤物件傳送到錯誤串流,請使用 Write-Error。
此 cmdlet 通常用於腳本中,以顯示主控台上的字串及其他物件。 其中一個內建別名是 ,Write-Outputecho類似於其他使用 echo。 預設行為是在管線結束時顯示輸出。 在 PowerShell 中,通常不需要在預設顯示輸出的情況下使用 cmdlet。 例如, Get-Process | Write-Output 相當於 Get-Process。 或者,echo "Home directory: $HOME"可以寫成。 "Home directory: $HOME"
預設情況下,是 Write-Output 集合中的物件枚舉。 然而,也可以 Write-Output 將集合作為單一物件透過 NoEnumerate 參數傳遞至管線。
範例
範例 1:取得物件並寫入主控台
在此範例中,指令長的結果 Get-Process 儲存在變 $P 數中。 指令長會 Write-Output 將程序物件顯示到 $P 主控台。
$P = Get-Process
Write-Output $P
範例 2:將輸出傳遞給另一個指令碼
此指令將「test output」字串傳送至 Get-Member cmdlet,顯示 System.String 類別的成員,證明字串已沿管線傳遞。
Write-Output "test output" | Get-Member
範例 3:在輸出中抑制列舉
此指令新增 NoEnumerate 參數,將集合或陣列視為管線中的單一物件。
Write-Output 1,2,3 | Measure-Object
Count : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count : 1
...
參數
-InputObject
指定要送入管線的物件。 輸入包含 物件的變數,或輸入取得物件的命令或表達式。
參數屬性
| 類型: | PSObject[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-NoEnumerate
預設情況下 Write-Output ,指令小子總是枚舉其輸出。
NoEnumerate 參數會抑制預設行為,並防止Write-Output枚舉輸出。 如果指令被括號包裹, NoEnumerate 參數就沒有影響,因為括號強制列舉。 例如,仍然 (Write-Output 1,2,3 -NoEnumerate) 列舉陣列。
NoEnumerate 參數僅在管線內有用。 在主控台中試圖查看 NoEnumerate 的效果很麻煩,因為 PowerShell 會在 Out-Default 每個命令列末尾加上資料,導致列舉。 但如果你把管道 Write-Output -NoEnumerate 導到另一個 cmdlet,下游 cmdlet 會接收集合物件,而不是集合中列舉的項目。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
PSObject
您可以將物件通過管線傳送至此 Cmdlet。
輸出
PSObject
此指令檔會回傳作為輸入的物件。
備註
PowerShell 包含下列 Write-Output的別名:
所有平臺:
echo
窗戶:
write