获取注册表值名称

获取注册表值名称

我正在尝试获取注册表值的名称,然后将其删除。此注册表是字符串值,其名称在几乎所有机器上都不同,但名称中有一个共同点是“Excompass.exe”。我正在使用此查询来获取注册表项:-

reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" |findstr /i "Encompass.exe"

显示的结果如下:-

C:\SmartClientCache\Apps\Ellie Mae\Encompass\Encompass.exe    REG_SZ   $ IgnoreFreeLibrary<AcroRd32.dll>

问题是,我只需要一个名称“C:\SmartClientCache\Apps\Ellie Mae\Encompass\Encompass.exe”,但我无法提取它。

我们如何才能获取这个注册表值名称?

我可以使用 PowerShell 轻松完成此操作,但我需要在 CMD 中执行此操作。

谢谢,

答案1

我们如何才能获取这个注册表值名称?

类似下面的操作应该可以工作(未经测试)

@echo off
setlocal enableDelayedExpansion
for /f "usebackq tokens=1 %%i in (`reg query "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" |findstr /i "Encompass.exe"`) do (
  echo %%i
  rem do something with %%i
  )

进一步阅读

相关内容