2

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

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 = @()',但没有效果。

我确信这完全是直截了当的,但我因不了解自己查找所需的术语而被打败了。

4

1 回答 1

3

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

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

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

$comps = (Get-Clipboard).Split("`n")
于 2013-10-04T08:35:50.637 回答