Powershell 5 剪贴板 - 手动粘贴 "complex" 剪贴板内容不起作用

Powershell 5 clipboard - manually pasting "complex" clipboard content doesn't work

我刚刚在我的笔记本上安装了 Win10,并初步了解了所有新的命令行开关。

虽然使用简单的文本,例如:

PS C:\Users\SudoSandwich> $do = echo "sad"
PS C:\Users\SudoSandwich> $do | Set-Clipboard

并在记事本中手动粘贴它工作正常,我在处理更多 "complex" 剪贴板内容时遇到了问题。 让我们使用 dir | Set-Clipboard。 我知道在控制台中你必须使用 Get-Clipboard -Format FileDropList 来取回它,但是将 dir 的结果粘贴到记事本中呢?在这种情况下,显然粘贴被禁用。

有人知道为什么这还行不通吗?在控制台中选择输出并将其粘贴到记事本中的老式方法仍然可以正常工作。

我的假设是 dir 的管道输出是对象而不是 set-clipboard 不能复制的纯文本,您需要在将其复制到剪贴板之前将其扩展或转换为字符串,试试这个[字符串[]](目录)|设置剪贴板

您可以使用 Out-String cmdlet 将任何复杂对象转换为您通常在控制台上看到的文本。然后您可以将该文本复制到剪贴板:

dir | Out-String | Set-Clipboard