Set-Clipboard

Sets the current Windows clipboard entry.

Syntax

Set-Clipboard
   [-Append]
   [-AsHtml]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Clipboard
   [-Value] <String[]>
   [-Append]
   [-AsHtml]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Clipboard
   [-Append]
   -Path <String[]>
   [-AsHtml]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Clipboard
   [-Append]
   -LiteralPath <String[]>
   [-AsHtml]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-Clipboard cmdlet sets the current Windows clipboard entry.

Examples

Example 1: Copy text to the clipboard

Set-Clipboard -Value "This is a test string"

Example 2: Copy the contents of a directory to the clipboard

This example copies the content of the specified folder to the clipboard.

Set-Clipboard -Path "C:\Staging\"

Example 3: Copy the contents of a file to the clipboard

This example pipes the contents of a file to the clipboard. In this example, we are getting a public ssh key so that it can be pasted into another application, like GitHub.

Get-Content C:\Users\user1\.ssh\id_ed25519.pub | Set-Clipboard

Parameters

-Append

Indicates that the cmdlet does not clear the clipboard and appends content to it.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-AsHtml

Indicates that the cmdlet renders the content as HTML to the clipboard.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Specifies the path to the item that is copied to the clipboard. Unlike Path, the value of LiteralPath is used exactly as it is typed. No characters are interpreted as wildcards. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell Windows PowerShell not to interpret any characters as escape sequences.

Type:String[]
Aliases:PSPath
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Path

Specifies the path to the item that is copied to the clipboard. Wildcard characters are permitted.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:True

-Value

Specifies, as a string array, the content to copy to the clipboard.

Type:String[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

You can pipe a string containing the content to set to the clipboard to this cmdlet.

Outputs

None

This cmdlet returns no output.

Notes

Windows PowerShell includes the following aliases for Set-Clipboard:

  • scb

In rare cases when using Set-Clipboard with a high number of values in rapid succession, like in a loop, you might sporadically get a blank value from the clipboard. This can be fixed by using Start-Sleep -Milliseconds 1 in the loop.