Set-Clipboard
设置剪贴板的内容。
语法
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 |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-AsOSC52
通过 SSH 连接到远程会话后,Set-Clipboard
会设置远程计算机的剪贴板,而不会设置本地主机的剪贴板。 使用此参数时, Set-Clipboard
使用 OSC52 ANSI 转义序列设置本地计算机的剪贴板。
要使此功能发挥作用,终端应用程序必须支持 OSC52 ANSI 转义序列。 Windows 终端支持此功能。
此参数已在 PowerShell 7.4 中添加。
类型: | SwitchParameter |
别名: | ToLocalhost |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-PassThru
返回一个代表你所处理的项的对象。 默认情况下,此 cmdlet 将不产生任何输出。
类型: | SwitchParameter |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Value
要添加到剪贴板的字符串值。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将包含要设置的剪贴板内容的字符串传递给此 cmdlet。
输出
None
此 cmdlet 不返回任何输出。
备注
PowerShell 包含 Set-Clipboard
的以下别名:
- 所有平台:
scb
在 PowerShell 7.0.0 版本中添加了对 macOS 上的此 cmdlet 的支持。