Вы пытались использовать пакетный файл для анализа строки удаления из ключа удаления реестра? Я бы не рекомендовал этот метод, но он может быть лучше, чем ничего.
@(For /F "Delims=" %%G In (
'^""%__AppDir__%reg.exe" Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /S /F "(KB4475558)" /D 2^>NUL^|Find "{"^"'
)Do @For /F "Tokens=2*" %%H In ('^""%__AppDir__%reg.exe" Query "%%G" /V "UninstallString" 2^>NUL^"')Do @Echo(%%I)&Pause
Если вы удовлетворены результатами, вы можете изменить код, чтобы попытаться удалить его. , (вероятно, вам потребуется запустить скрипт или команду «Как администратор») :
Из пакетного файла :
@For /F "Delims=" %%G In (
'^""%__AppDir__%reg.exe" Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /S /F "(KB4475558)" /D 2^>NUL^|Find "{"^"'
)Do @For /F "Tokens=2*" %%H In ('^""%__AppDir__%reg.exe" Query "%%G" /V "UninstallString" 2^>NUL^"')Do @%%I
или cmd :
For /F "Delims=" %G In ('""%__AppDir__%reg.exe" Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /S /F "KB4475558" /D 2>NUL|Find "{""')Do @For /F "Tokens=2*" %H In ('""%__AppDir__%reg.exe" Query "%G" /V "UninstallString" 2>NUL"')Do @Echo(%I
Если вы пытаетесь сделать это для всех обновлений KB для своих офисных продуктов, что-то подобное может приблизить вас :
@(For /F "Delims=" %%G In (
'^""%__AppDir__%reg.exe" Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /S /F "0FF1CE}_Office" /K 2^>NUL^|Find "{"^"'
)Do @For /F "Tokens=2*" %%H In ('^""%__AppDir__%reg.exe" Query "%%G" /V "UninstallString" 2^>NUL^"')Do @Echo(%%I)&Pause
Если вы удовлетворены результатами, вы можете изменить код, чтобы попытаться удалить его, (вполне вероятно, что вам потребуется запустить скрипт или команду «Как администратор». ') :
Из пакетного файла :
@(For /F "Delims=" %%G In (
'^""%__AppDir__%reg.exe" Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /S /F "0FF1CE}_Office" /K 2^>NUL^|Find "{"^"'
)Do @For /F "Tokens=2*" %%H In ('^""%__AppDir__%reg.exe" Query "%%G" /V "UninstallString" 2^>NUL^"')Do @Echo(%%I)&Pause
или из cmd :
For /F "Delims=" %G In ('""%__AppDir__%reg.exe" Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /S /F "0FF1CE}_Office" /K 2>NUL|Find "{""')Do @For /F "Tokens=2*" %H In ('""%__AppDir__%reg.exe" Query "%G" /V "UninstallString" 2>NUL"')Do @%I
Обратите внимание, что в приведенных выше примерах анализируется только раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
. Могут быть и другие места, например, HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
, содержащая информацию, которая вам требуется.