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