我正在尝试查询注册表中程序的安装位置。我感兴趣的只是位置输出。
这个问题有一个部分解决方案,但并没有完全帮助。
在Windows 7上,reg命令会输出一个愚蠢的注册表键头以及值,如下所示:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NSIS Unicode" /v InstallLocation
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NSIS Unicode
InstallLocation REG_EXPAND_SZ C:\Program Files\NSIS
首先,是否有方法可以关闭标题并简化输出?
在命令提示符下,我可以将上述内容更改为
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NSIS Unicode" /v InstallLocation | findstr InstallLocation
我希望它只返回给我第二行。
现在,如果我要使用 FOR /F
来解析它并仅获取目录值,则 FOR
命令会失败,显示 | 在此处不是预期的
。
以下是我的批处理文件:
@for /f "tokens=2* delims= " %%k in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NSIS Unicode" /v InstallLocation | findstr InstallLocation') do @echo %%k
那我哪里做错了?