String 如何使用PowerShell从字符串中读取变量?

String 如何使用PowerShell从字符串中读取变量?,string,powershell,String,Powershell,我有一个TXT文件,其中包含以下文本: someCommandName -parameterName1 *abc* -parameterName2 *efg* -parameterName3 *hij* -parameterName4 *klm* 请告知如何将-parameterName2和-parameterName4的读数编码到PowerShell脚本中的变量中 非常感谢您的帮助,提前 将文件读入powershell变量,然后将其正则化?然后迭代匹配,还是只使用匹配1和3?(基于零的数组,

我有一个TXT文件,其中包含以下文本:

someCommandName -parameterName1 *abc* -parameterName2 *efg* -parameterName3 *hij* -parameterName4 *klm*
请告知如何将
-parameterName2
-parameterName4
的读数编码到PowerShell脚本中的变量中


非常感谢您的帮助,提前

将文件读入powershell变量,然后将其正则化?然后迭代匹配,还是只使用匹配1和3?(基于零的数组,因此参数2为[1],以此类推)。注意:我在末尾添加了“”,因为需要将最后一个参数与我所做的分组进行模式匹配

PS C:\> $file
someCommandName -parameterName1 abc -parameterName2 efg -parameterName3 hij -par
ameterName4 klm

PS C:\> $line = $file+" "

PS C:\> $regex = [Regex]::new("(.*?)-(.*?)\s+?(.+?)\s+?")

PS C:\> $matches = $regex.Matches($line)

PS C:\> $matches[0]


Groups   : {0, 1, 2, 3}
Success  : True
Name     : 0
Captures : {0}
Index    : 0
Length   : 36
Value    : someCommandName -parameterName1 abc 

PS C:\> $matches[0].Groups[3].ToString()
abc

PS C:\> $matches[1].Groups[3].ToString()
efg

PS C:\> $matches[2].Groups[3].ToString()
hij

PS C:\> $matches[3].Groups[3].ToString()
klm

PS C:\> 
,