2015-12-10 366 views
1

我刚刚在我的笔记本上安装了Win10,并首先查看了所有新的命令行开关。Powershell 5剪贴板 - 手动粘贴“复杂”剪贴板内容不起作用

虽然使用简单的文字,如:

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

,并手动在记事本中,例如粘贴它工作得很好,我有一些更“复杂”剪贴板中的内容的麻烦。 让我们用dir | Set-Clipboard。 我知道在控制台中你必须使用Get-Clipboard -Format FileDropList来恢复它,但是将dir的结果粘贴到记事本中呢?在这种情况下,显示粘贴被禁用。

任何人都知道为什么这不起作用?老式的在控制台中选择输出并将其粘贴到记事本中的方式仍然正常。

+1

'dir | Out-String | Set-Clipboard' – PetSerAl

+0

就是这样。有时它可以非常简单。谢谢m8 你想设置这个答案或者我应该这样做吗? – StUffz

回答

2

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

dir | Out-String | Set-Clipboard 
2

我的假设是,管道输出dir是对象而不是设置剪贴板不能只是复制,就需要一种扩大或将其转换成字符串复制到剪贴板之前,一个纯文本,试试这个[string []](dir)|设置剪贴板

+0

是的。像PS一切剪贴板也是object.that进入正确的方向。与-f格式运算符一起,我可以得到我想要的输出。 我希望在那里然而,得到完全相同的输出,就像您在控制台或通过手动选择并将其复制到记事本看 – StUffz