Powershell 5剪贴板-手动粘贴“;复杂的;剪贴板内容不存在';行不通

Powershell 5剪贴板-手动粘贴“;复杂的;剪贴板内容不存在';行不通,powershell,powershell-5.0,Powershell,Powershell 5.0,我刚刚在笔记本上安装了Win10,并对所有新的commandlet进行了第一次查看 使用简单文本时,如: PS C:\Users\SudoSandwich> $do = echo "sad" PS C:\Users\SudoSandwich> $do | Set-Clipboard 例如,手动将其粘贴到记事本中效果很好,我在处理一些更“复杂”的剪贴板内容时遇到了问题。 让我们使用dir |设置剪贴板。 我知道在控制台中,您必须使用Get Clipboard-Format FileD

我刚刚在笔记本上安装了Win10,并对所有新的commandlet进行了第一次查看

使用简单文本时,如:

PS C:\Users\SudoSandwich> $do = echo "sad"
PS C:\Users\SudoSandwich> $do | Set-Clipboard
例如,手动将其粘贴到记事本中效果很好,我在处理一些更“复杂”的剪贴板内容时遇到了问题。 让我们使用
dir |设置剪贴板
。 我知道在控制台中,您必须使用
Get Clipboard-Format FileDropList
将其取回,但是如何将
dir
的结果粘贴到记事本中呢?在这种情况下,粘贴似乎被禁用


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

我的假设是dir的管道输出是对象,而不是设置剪贴板的纯文本。剪贴板不能只是复制,在将其复制到剪贴板之前,您需要将其展开或转换为字符串,请尝试此[string[](dir)|设置剪贴板

我的假设是,dir的管道输出是对象而不是纯文本,设置剪贴板不能只是复制,在将其复制到剪贴板之前,需要将其展开或转换为字符串,请尝试此[string[](dir)|设置剪贴板

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

dir | Out-String | Set-Clipboard

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

dir | Out-String | Set-Clipboard

对和PS中的其他东西一样,剪贴板也是一个对象。它的方向正确。与-f格式操作符一起,我可以得到我想要的输出。但是,我希望通过手动选择并将其复制到notepadyes,可以获得与控制台中相同的输出。和PS中的其他东西一样,剪贴板也是一个对象。它的方向正确。与-f格式操作符一起,我可以得到我想要的输出。然而,我希望通过手动选择并将其复制到记事本
dir | Out String | Set Clipboard
获得与控制台中完全相同的输出。有时它可能是如此简单。谢谢,你想将此设置为答案还是我应该这样做?
dir | Out String | set Clipboard
就这样。有时它可能是如此简单。谢谢,您想将此设置为答案还是我应该这样做?