Windows Localizar Regex - findstr LookBehind

1

Eu tenho esta string:

DisplayName    REG_SZ    Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC  (07/22/2015 14.5.2.1088)

De qual eu tirei:

Reg Query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall /s /v DisplayName

O que eu quero é o nome exato do produto: Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC (07/22/2015 14.5.2.1

Estou tentando isso:

PS> Reg Query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall /s /v DisplayName | select -First 3 | findstr.exe /i /r /c:"(?<=REG_SZ\s*).*"

Mas não é como um grep -Po no Linux e não consigo descobrir.

    
por aDoN 28.03.2017 / 11:27

1 resposta

0

Então você tem essa string. . .

DisplayName    REG_SZ    Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC  (07/22/2015 14.5.2.1088)

Você precisa terminar com essa string. . .

Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC  (07/22/2015 14.5.2.1)

Considere. . .

Considere usar o Get-ItemProperty com opções e parâmetros aplicáveis para obter informações do registro em vez de < strong> Reg Query .

Get-ItemProperty -Path Registry::HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall

Outro método do PowerShell

Use o Substituir () e Trim () funciona para analisar e depois limpar a string que você precisa.

Powershell Replace() and Trim() function example

$s = "DisplayName    REG_SZ    Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC  (07/22/2015 14.5.2.1088)"
$s = $s.replace('DisplayName    REG_SZ', '').Trim()
$s

Minha verificação de teste

Maisrecursos

por 29.03.2017 / 17:02