|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как с помощью командой строки удалить приложение из системы |
|
CMD/BAT - Как с помощью командой строки удалить приложение из системы
|
Ветеран Сообщения: 670 |
Допустим у нас есть приложение, которое было установлено через MSI. И мы знаете только имя приложения (в данном случае, только первую часть названия). Для использования команды MSIEXEC требуется, чтобы вы знали GUID, но все программы имеют разные GUID, более того, даже разные версии программы могут иметь различный GUID. Решение нашел в интернете. Это маленький кусочек кода который перебирает ключи реестра, чтобы получить этот самый GUID, у которого DisplayName начинается с определенного имени.
Ниже приведен пример, который удаляет все установленные приложения, названия которых начинается с «Windows Live ID Sign-in Assistant» Но почему то она не работает.. помогите разобраться..(Пробовал в Windows 8, может проблема в этом) for /f "tokens=7 delims=\" %%i in ('reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall ^| FIND "{"') do ( for /f "tokens=2,*" %%j in ('reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\%%i /v DisplayName') do ( set dn=%%k if "!dn:~0,33!"=="Windows Live ID Sign-in Assistant" ( echo Uninstalling Windows Live ID Sign-in Assistant msiexec /promptrestart /qb /x %%i /L+*v %TEMP%\wlidsvc.log if %ERRORLEVEL% NEQ 0 echo Uninstallation failed. Check the log %TEMP%\wlidsvc.log ) ) ) |
|
Отправлено: 10:27, 30-09-2013 |
Ветеран Сообщения: 670
|
Профиль | Отправить PM | Цитировать Вот рабочие идеи он они требуют точного ввода именны но так меня не устраивает
нужно исправить код с шапки кто может помочь |
Отправлено: 10:33, 30-09-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 124
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 12:50, 30-09-2013 | #3 |
Ветеран Сообщения: 670
|
Профиль | Отправить PM | Цитировать ни чего полезного там не увидел..
Может поподробнее расскажешь сам?? |
Отправлено: 14:54, 30-09-2013 | #4 |
Пользователь Сообщения: 124
|
Профиль | Отправить PM | Цитировать Цитата Guman:
#Powershell script. #Don't forget unlock script executing by #using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted" #Save this file with ".ps1" extension $app=Get-WmiObject -Class win32_product | Where-Object {$_.Name -like "*Windows Live ID Sign-in Assistant*"} $app.Uninstall() |
||
------- Отправлено: 15:16, 30-09-2013 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Добавлю только, что и «wmic.exe» понимает оператор «LIKE».
|
Отправлено: 15:19, 30-09-2013 | #6 |
Ветеран Сообщения: 670
|
Профиль | Отправить PM | Цитировать Iska Вроде же хорошо понимаешь в этом.. помоги пож..
|
Отправлено: 15:41, 30-09-2013 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Guman:
|
|
Отправлено: 15:52, 30-09-2013 | #8 |
Ветеран Сообщения: 670
|
Профиль | Отправить PM | Цитировать Iska один момент , для уточнения...
Она сканировать будет DisplayName? Вот цель в чем. запись в реестре HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{7F646B03-B4B1-4784-83FF-947CA1059BA0}\DisplayName так вот {7F646B03-B4B1-4784-83FF-947CA1059BA0} невозможно всегда определиться так как он при новой версии может меняться... а вот DisplayName можно как то вычислить... но проблема в другом.. не знаю получиться или нет.. вот смотрите две записи DisplayName \{7F646B03-B4B1-4784-83FF-947CA1059BA0}\DisplayName ---> Данные 2ГИС г.Якутск 01.09.2013 и \{79B8B143-2948-468B-A139-CC6D1CFE146E}\DisplayName ---> 2ГИС 3.13.9.0 как видите много лишнего, в DisplayName , в одном дата присуствует а в другом версия. очень надеюсь что после запуске ключа Она деинсталирует оба продукта да и не только оба , все продукты в котором присутствует 2ГИС было бы класс. Пошел пробовать.. спасибо за помощь. Посмотрим Цель Моих хотелок будет выполнено -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- в итоге вышло следующее и ни че не удалилось-(( Microsoft Windows [Version 6.2.9200] (c) Корпорация Майкрософт, 2012. Все права защищены. C:\Users\Windows 8>wmic.exe Product where "Name LIKE '2ГИС%%'" call Uninstall Идет выполнение (\\GUMAN\ROOT\CIMV2:Win32_Product.IdentifyingNumber="{79B8B143-2948-468B-A139-CC6D1CFE146E}",Name="2ГИС 3.13.9.0",Version="3.13.9.0")->Uninstall () Метод успешно вызван. Параметры вывода: instance of __PARAMETERS { ReturnValue = 1603; }; но что сделать с полученной информацие как заставить удалить?? а в идеале все одной строкой было бы |
Последний раз редактировалось Guman, 30-09-2013 в 16:39. Причина: сделатт Отправлено: 16:28, 30-09-2013 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Guman:
Цитата Guman:
|
||
Отправлено: 18:17, 30-09-2013 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Winnity — диалог выбора папки или файла из командой строки | hb860 | Скриптовые языки администрирования Windows | 27 | 08-11-2012 04:19 | |
Блог - Как удалить историю из адресной строки проводника | Vadikan | Microsoft Windows 7 | 0 | 08-02-2011 10:30 | |
FAQ - как удалить адрес из командной строки в Opera10 и IE8 для Windows7 | Gleban | Сетевые технологии | 0 | 27-02-2010 20:06 | |
Интерфейс - [решено] Как удалить ненужные ссылки из адресной строки Internet Explorer? | muslim | Microsoft Windows 2000/XP | 2 | 15-01-2008 13:54 | |
Разное - [решено] Закрыть приложение из командной строки | Alexx280 | Microsoft Windows 2000/XP | 3 | 01-08-2007 08:16 |
|