正则表达式-Powershell

时间:2018-07-13 09:53:08

标签: regex powershell

我正在编写一个测试用例脚本,该脚本将安装Citrix Receiver,检查是否已创建存储,然后将其卸载。

我卸载Receiver的方式是运行以下命令:

Start-Process "C:\ProgramData\Citrix\Citrix Receiver 4.12\TrolleyExpress.exe" -argumentlist "/silent /uninstall /cleanup" -Wait -PassThru

从注册表项值获得TrolleyExpress.exe/uninstall /cleanup参数的路径。 我已经获得了值的内容并将其包含在一个变量中:

$uninstallString = (Get-ItemProperty -path HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\CitrixOnlinePluginPackWeb -name UninstallString).UninstallString

$uninstallString变为C:\ProgramData\Citrix\Citrix Receiver 4.12\TrolleyExpress.exe /uninstall /cleanup

我的目标是直接从regedit获取到TrolleyExpress.exe的路径,因为它是一个可以在多台计算机上运行的测试用例。如果Receiver的安装位置不同于C:或其他路径。

这是我进入PowerShell脚本的第一个月,我对正则表达式非常陌生。

我们非常感谢您对如何解决此问题的任何帮助\建议!

1 个答案:

答案 0 :(得分:2)

假设注册表中的路径遵循您给出的示例(可能的驱动器号除外),那么获取路径的一种简单方法是:

$exePath = $uninstallString.Split('/')[0]