剪贴板中的文本不是数组

时间:2013-10-04 07:57:57

标签: powershell powershell-v2.0

我的个人资料中有一个小功能,可以从剪贴板中获取文字:

function Get-Clipboard
{
    Set-StrictMode -Version Latest

    PowerShell -NoProfile -STA -Command{
        Add-Type -Assembly PresentationCore
        [Windows.Clipboard]::GetText()
    }
}

(被盗{改编自http://poshcode.org/2150。)

但是,当它捕获剪贴板中的内容时,它无法正常工作。

基本上,我希望它复制Get-Content cmdlet的行为,也就是说,如果我在剪贴板中有一个列表,如下所示:

COMP1
COMP2
COMP3

我希望$comps = Get-Clipboard能创建一个包含三个字符串的简单数组。

我试过声明'$ comps = @()',这没效果。

我确信这完全是直截了当的,但是由于我对自己查看这些内容所需的条款缺乏了解,我已经被打败了。

1 个答案:

答案 0 :(得分:2)

这取决于您使用的分隔符。例如,如果我的剪贴板文本是comp1,comp2,comp3,那么您可以使用:

$comps = (Get-Clipboard).Split(",")

所以,在你的情况下你有一个新行作为分隔符,

$comps = (Get-Clipboard).Split("`n")