快速创建字符串列表

时间:2016-01-10 00:01:47

标签: string powershell

考虑以下示例。您有一个服务器名称列表已复制到剪贴板。

您如何快速创建包含字符串列表的PowerShell变量?

现在我知道你只是用单引号包装下面看到的字符串,但是如何以编程方式完成呢?

样品:

$list = @(
One
Two
Three
)

1 个答案:

答案 0 :(得分:1)

您可以使用System.Windows.Forms命名空间中的Clipboard类:

Add-Type -Assembly System.Windows.Forms | Out-Null

$clp = [Windows.Forms.Clipboard]::GetText() -split "`r`n"

剪贴板内容作为单个字符串返回,因此您需要在换行符处将其拆分以获得一行数组。

另一个选项是InternetExplorer.Application COM对象:

$ie = New-Object -COM 'InternetExplorer.Application'
$ie.Navigate("about:blank")
while ($ie.ReadyState -ne 4) { Start-Sleep -Milliseconds 100 }

$clp = $ie.Document.parentWindow.clipboardData.getData('text') -split "`r`n"

$ie.Quit()

但是,要使其正常工作,您必须将about:blank放在一个安全区域中,您可以在其中允许对脚本进行编程式剪贴板访问:

Security Settings → Scripting → Allow Programmatic clipboard access