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, a public ssh key, to the clipboard. Then, the key 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 should add to the clipboard instead of replacing it. By default, the cmdlet clears the current content from the clipboard and sets it to the new content. When this parameter is specified, the cmdlet appends the new content after a newline to the current content.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
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
Required:False
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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Specifies the path to the item that's copied to the clipboard. Unlike Path, the value of LiteralPath is used exactly as it's written. 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
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Path

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

Type:String[]
Position:Named
Default value:None
Required:True
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
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet isn't run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required: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 many times in rapid succession, like in a loop, the clipboard isn't updated or you receive an ExternalException error. This can be caused when you try to set the clipboard and it's still in use. This can try to avoid this problem by adding Start-Sleep -Milliseconds 100 to the loop.