Set-Clipboard

设置剪贴板的内容。

语法

Default (默认值)

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

说明

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

注释

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

示例

示例 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 会将换行符后的新内容追加到当前内容之后。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-AsOSC52

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

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

此参数已在 PowerShell 7.4 中添加。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:ToLocalhost

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Confirm

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

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-PassThru

返回一个对象,该对象代表您正在处理的项目。 默认情况下,此 cmdlet 不生成任何输出。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Value

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

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:True
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-WhatIf

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

参数属性

类型:SwitchParameter
默认值:False
支持通配符: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

输入

String

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

输出

None

此 cmdlet 不返回任何输出。

备注

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

  • 所有平台:
    • scb

在 PowerShell 7.0.0 版本中添加了对 macOS 上的此 cmdlet 的支持。