Windows Find Regex - findstr LookBehind


1

Tôi có chuỗi này:

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

Mà tôi đã lấy từ:

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

Những gì tôi muốn là tên chính xác của sản phẩm: Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC (07/22/2015 14.5.2.1

Tôi đang thử cái này:

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

Nhưng nó không giống như grep -Potrong Linux và không thể hiểu được.


Bạn đang trộn các lệnh tập tin powershell và batch. Xem ss64.com/nt/findstr.html để biết định nghĩa regrec findstr.
DavidPostill

Câu trả lời:


0

Vì vậy, bạn có chuỗi này. . .

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

Bạn cần kết thúc với chuỗi này. . .

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

Xem xét. . .

Cân nhắc sử dụng Get-ItemProperty với các tùy chọn và tham số áp dụng để nhận thông tin đăng ký thay vì Truy vấn Reg .

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

Phương pháp PowerShell khác

Sử dụng các hàm Thay thế ()Trim () để phân tích cú pháp và sau đó dọn sạch chuỗi bạn cần thay thế.

Ví dụ về hàm Powershell Thay thế ()Trim ()

$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

Xác minh thử nghiệm của tôi

nhập mô tả hình ảnh ở đây


Tài nguyên khác

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.