Что нового

[Автоматизация] Как использовать WMIC команду в AutoIT?

warezoogle3

Новичок
Сообщения
73
Репутация
1
Привет всем! :smile:
Как можно ли использовать эту команду
Код:
WMIC
product where name="software" call uninstall
или эквивалентную в AutoIT?
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
run('wmic product where name="software" call uninstall')
 
Автор
W

warezoogle3

Новичок
Сообщения
73
Репутация
1
Спасибо огромное,но...
Так не работает!
Это не одна команда,а несколько.
Тоесть в командной строке надо вводить WMIC,дождатся появления надписи wmic:root\cli>
потом только вводить product where name="Software" call uninstall
Более подробно здесь http://www.tech-recipes.com/rx/2947/windows_uninstall_application_command_line/

Пробовал написать батник по таким командам,что-то не получилось.

Можно ли это реализовать в AutoIT?
Заранее огромное спасибо! :smile: :beer: :IL_AutoIt_1:
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Код:
$sCmd='wmic product where name="software" call uninstall'
$iPID=Run(@ComSpec & ' /C "' & $sCmd &'"',@ScriptDir,@SW_HIDE)
 

gora

Знающий
Сообщения
315
Репутация
19
warezoogle3 [?]
Это не одна команда,а несколько.
Можно обойтись одной строкой, если Вы знаете "имя удаляемой программы"
Код:
$prog="7-Zip 9.28 (x64 edition)"
RunWait('wmic product "' & $prog & '" call uninstall /nointeractive', '', @SW_HIDE)
MsgBox(16, 'Результат', 'Программа "' & $prog & '" удалена')
 

sngr

AutoIT Гуру
Сообщения
1,010
Репутация
408
Код:
$oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
$objClass = ObjGet("WinMgmts:\\.\root\cimv2:Win32_Product")
$colSoftware = $objClass.Instances_
$strResult=''
For $objSoftware in $colSoftware
  $strResult = $strResult & _
    " Name: " & $objSoftware.Name & @crlf & _
    @tab & "Caption: " & $objSoftware.Caption & @crlf & _
    @tab & "Description: " & $objSoftware.Description & @crlf & _
    @tab & "IdentifyingNumber: " & $objSoftware.IdentifyingNumber & _
    @crlf & _
    @tab & "InstallLocation: " & $objSoftware.InstallLocation & @crlf _
    & @tab & "InstallState: " & $objSoftware.InstallState & @crlf & _
    @tab & "PackageCache: " & $objSoftware.PackageCache & @crlf & _
    @tab & "SKUNumber: " & $objSoftware.SKUNumber & @crlf & _
    @tab & "Vendor: " & $objSoftware.Vendor & @crlf & _
    @tab & "Version: " & $objSoftware.Version & @crlf & @crlf
Next
FileWrite(@ScriptDir&'\123',$strResult)
$oMyError = 0
Func MyErrFunc()
	MsgBox(4096, "AutoItCOM Test", "We intercepted a COM Error !" & @CRLF & @CRLF & _
			"err.description is: " & @TAB & $oMyError.description & @CRLF & _
			"err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
			"err.number is: " & @TAB & hex($oMyError.number, 8) & @CRLF & _
			"err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
			"err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
			"err.source is: " & @TAB & $oMyError.source & @CRLF & _
			"err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
			"err.helpcontext is: " & @TAB & $oMyError.helpcontext)
	Exit 1
EndFunc   ;==>MyErrFunc

Здесь список программ, коии могут удалиться через product where name="software" call uninstall. wmic работает только от админа, и запускается как я написал выше.
 
Автор
W

warezoogle3

Новичок
Сообщения
73
Репутация
1
Спасибо огромное,тема решена! :smile: :beer: :IL_AutoIt_1:
 
Верх