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 的支持。