Powershell 5剪贴板 - 手动粘贴“复杂”剪贴板内容不起作用

时间:2015-12-10 00:30:48

标签: powershell powershell-v5.0

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

使用简单的文字,如:

if("+-/*".Contains(Result.Text[Result.Text.Length - 1])) return;

并在记事本中手动粘贴它,例如工作得很好,我遇到了一些更“复杂”的剪贴板内容的问题。 我们来使用PS C:\Users\SudoSandwich> $do = echo "sad" PS C:\Users\SudoSandwich> $do | Set-Clipboard 。 我知道在控制台中你必须使用dir | Set-Clipboard来取回它,但是如何将Get-Clipboard -Format FileDropList的结果粘贴到记事本中呢?在这种情况下,禁用外观。

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

2 个答案:

答案 0 :(得分:2)

My assumption is that pipe output for dir is object rather than a plain text that set-clipboard can't just copy, you need to kind of expand or convert it into a string before you copy it to clipboard, try this [string[]] (dir) | Set-Clipboard

答案 1 :(得分:2)

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

dir | Out-String | Set-Clipboard