Set-Clipboard

设置剪贴板的内容。

语法

Set-Clipboard
   [-Value] <string[]>
   [-Append]
   [-PassThru]
   [-AsOSC52]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

Set-Clipboard cmdlet 设置剪贴板的内容。

注意

在 Linux 上,此 cmdlet 要求 xclip 实用工具位于路径中。

示例

示例 1:将文本复制到剪贴板

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

示例 2:将文件的内容复制到剪贴板

此示例通过管道将文件的内容(公共 ssh 密钥)传递给剪贴板。 然后,可以将该密钥粘贴到另一个应用程序,例如 GitHub。

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

示例 3:通过 SSH 远程会话将文本复制到本地主机的剪贴板

使用 AsOSC52 参数,你可以在通过 SSH 连接到远程会话时设置本地计算机的剪贴板。

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

示例4:设置 AsOSC52 ****参数的默认值

可以通过检查 $env:SSH_CLIENT$env:SSH_TTY 环境变量的值来检测你是否已通过 SSH 连接到远程会话。 如果设置了这些变量中的任何一个,那么你是通过 SSH 连接到远程会话。 可以使用此信息设置 AsOSC52 参数的默认值。 将以下行之一添加到 PowerShell 配置文件脚本中。

$PSDefaultParameterValues['Set-Clipboard:AsOSC52'] = $env:SSH_CLIENT
$PSDefaultParameterValues['Set-Clipboard:AsOSC52'] = $env:SSH_TTY

有关 $PSDefaultParameterValues 的详细信息,请参阅 about_Parameters_Default_Values

参数

-Append

指示 cmdlet 应将内容添加到剪贴板而不是替换它。 默认情况下,cmdlet 会清除剪贴板中的当前内容,并将其设置为新内容。 指定此参数后,cmdlet 会将换行符后的新内容追加到当前内容之后。

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

-AsOSC52

通过 SSH 连接到远程会话后,Set-Clipboard 会设置远程计算机的剪贴板,而不会设置本地主机的剪贴板。 当你使用此参数时,系统会对 OSC52 ANSI 转义序列执行 Set-Clipboard 来设置本地计算机的剪贴板。

要使此功能发挥作用,终端应用程序必须支持 OSC52 ANSI 转义序列。 Windows 终端支持此功能。

此参数已在 PowerShell 7.4 中添加。

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

-Confirm

提示你在运行 cmdlet 之前进行确认。

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

-PassThru

返回一个代表你所处理的项的对象。 默认情况下,此 cmdlet 将不产生任何输出。

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

-Value

要添加到剪贴板的字符串值。

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

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

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

输入

String

可以通过管道将包含要设置的剪贴板内容的字符串传递给此 cmdlet。

输出

None

此 cmdlet 不返回任何输出。

备注

PowerShell 包含 Set-Clipboard 的以下别名:

  • 所有平台:
    • scb