次の方法で共有


Write-Output

Writes the specified objects to the pipeline.

構文

Default (既定)

Write-Output
    [-InputObject] <PSObject[]>
    [-NoEnumerate]
    [<CommonParameters>]

説明

Writes the specified objects to the pipeline. If Write-Output is the last command in the pipeline, the objects are displayed in the console.

Write-Output sends objects to the primary pipeline, also known as the success stream. To send error objects to the error stream, use Write-Error.

This cmdlet is typically used in scripts to display strings and other objects on the console. One of the built-in aliases for Write-Output is echo and similar to other shells that use echo. The default behavior is to display the output at the end of a pipeline. In PowerShell, it is generally not necessary to use the cmdlet in instances where the output is displayed by default. For example, Get-Process | Write-Output is equivalent to Get-Process. Or, echo "Home directory: $HOME" can be written, "Home directory: $HOME".

By default, Write-Output enumerates objects in a collection. However, Write-Output can also pass collections down the pipeline as a single object with the NoEnumerate parameter.

Example 1: Get objects and write them to the console

In this example, the results of the Get-Process cmdlet are stored in the $P variable. The Write-Output cmdlet displays the process objects in $P to the console.

$P = Get-Process
Write-Output $P

Example 2: Pass output to another cmdlet

This command pipes the "test output" string to the Get-Member cmdlet, which displays the members of the System.String class, demonstrating that the string was passed along the pipeline.

Write-Output "test output" | Get-Member

Example 3: Suppress enumeration in output

This command adds the NoEnumerate parameter to treat a collection or array as a single object through the pipeline.

Write-Output 1,2,3 | Measure-Object
Count    : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count    : 1
...

パラメーター

-InputObject

Specifies the objects to send down the pipeline. Enter a variable that contains the objects, or type a command or expression that gets the objects.

パラメーターのプロパティ

型:

PSObject[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:0
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-NoEnumerate

By default, the Write-Output cmdlet always enumerates its output. The NoEnumerate parameter suppresses the default behavior, and prevents Write-Output from enumerating output. The NoEnumerate parameter has no effect if the command is wrapped in parentheses, because the parentheses force enumeration. For example, (Write-Output 1,2,3 -NoEnumerate) still enumerates the array.

The NoEnumerate parameter is only useful within a pipeline. Trying to see the effects of NoEnumerate in the console is problematic because PowerShell adds Out-Default to the end of every command line, which results in enumeration. But if you pipe Write-Output -NoEnumerate to another cmdlet, the downstream cmdlet receives the collection object, not the enumerated items of the collection.

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

入力

PSObject

You can pipe objects to this cmdlet.

出力

PSObject

This cmdlet returns the objects that are submitted as input.

メモ

PowerShell includes the following aliases for Write-Output:

  • All platforms:

    • echo
  • Windows:

    • write