但是,在此处使用标准Select-String
命令(在其他文件格式上使用完全相同的语法时):
$MyOObject."Prompt" = (Select-String -Path $Path -Pattern "promptcredentialonce: (.*)").Matches.Groups[1].Value
...产生以下错误:
无法索引空数组
在PowerShell 2.0中是否有用于解析此类文件或任何非标准文本文件的其他命令?
答案 0 :(得分:1)
您的模式不正确。 .rdp文件中选项的语法是
name:type:value
在你的情况下:
promptcredentialonce:i:0
但是,您尝试在选项名称(不存在)后用空格匹配某些内容:
promptcredentialonce: (.*)
如果没有匹配,则.Matches
属性为空,.Group[1]
尝试对空值进行索引访问。
如果您想要包含类型的值,请删除空格:
promptcredentialonce:(.*)
如果您只想要该值,请将模式更改为以下内容:
promptcredentialonce:\w+:(.*)