Я пытаюсь запросить место установки программы в реестре.Все, что меня интересует, это вывод местоположения.
Этот вопрос имеет частичное решение, но это не совсем помогает.В 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
терпит неудачу, говоря: | was unexpected at this time
.
Вот мой командный файл:
@for /f "tokens=2* delims= " %%k in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\NSIS Unicode" /v InstallLocation | findstr InstallLocation') do @echo %%k
Так, где я иду неправильно?*