Bat脚本自动卸载软件-静默执行
通过Bat脚本卸载软件,原理是得到某软件的ProductCode,然后通过MsiExec.exe命令卸载软件,下面是卸载一个产品的基本代码示例:
set ML4.0HF4Name=Product4.0HF4
set ML4.0HF4ProduceCode=420F1D5E-A797-4FB8-B656-DAC18FAB86FE ::Product4.0HF4
echo %ML4.0HF4Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%ML4.0HF4ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %ML4.0HF4Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %ML4.0HF4Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %ML4.0HF4Name% End %date% %time%>>%logfile%
以下代码是一个完全的示例,包含所有过程,比较繁琐,有日志功能;删除产品文件夹功能
@echo off :: base parameters
set logfile=C:\UnInstallProductLog.txt
::set datetime=%date% %time%
set ProductFolder="C:\Program Files\Product" :: Name and ProductCode
set ML4.0SP1Name=Product4.0SP1
set ML4.0SP1ProduceCode=AD66CA3A-BAA3-45E4-B7D9-22BB2B8775D1 set MLDB4.0SP1Name=ProductDababase4.0SP1
set MLDB4.0SP1ProduceCode=C9823940-D109-43F2-81F7-B76C7B923DE3 set ML4.0HF4Name=Product4.0HF4
set ML4.0HF4ProduceCode=420F1D5E-A797-4FB8-B656-DAC18FAB86FE set MLDB4.0HF4Name=ProductDababase4.0HF4
set MLDB4.0HF4ProduceCode=F4410B3A-6AB8-4E63-9716-41B11693A29B set ML4.0HF3Name=Product4.0HF3
set ML4.0HF3ProduceCode=F943817E-793F-4457-A449-BE4BCEFB5114 set MLDB4.0HF3Name=ProductDababase4.0HF3
set MLDB4.0HF3ProduceCode=67F3B4E7-998B-4E88-B6DE-E84F18F9A0E2 set ML4.0HF2Name=Product4.0HF2
set ML4.0HF2ProduceCode=4D840F90-B500-4279-9768-A1339E9B75B0 set MLDB4.0HF2Name=ProductDababase4.0HF2
set MLDB4.0HF2ProduceCode=40632512-8D09-4A09-BF6C-F26EDD87773C set ML4.0HF1Name=Product4.0HF1
set ML4.0HF1ProduceCode=DE09302B-9B90-4F66-9B2A-13C67A29CCAB set ML4.0Name=Product4.0
set ML4.0ProduceCode=176C5F1C-8E45-41CD-B42D-562E8D4870C8 set DCMedia4.0Name=DisplayControllerMedia4.0
set DCMedia4.0ProductCode=F27974D3-A978-4112-9B1F-25D7D425A607 set MLDB4.0Name=ProductDatabase4.0
set MLDB4.0ProductCode=871760A0-BC0F-4591-9515-A21A12D6DF58 set ARAnimation4.0Name=AspersRouletteAnimations4.0
set ARAnimation4.0ProductCode=9845E4C0-5639-44F8-849C-B79D2182892C set BRAnimation4.0Name=BlankRouletteAnimations4.0
set BRAnimation4.0ProductCode=DE3CC285-FFE5-4A3F-9DFC-6AD8E0F2BDAF set GCRAnimation4.0Name=GCasinoRouletteAnimations4.0
set GCRAnimation4.0ProductCode=A2F491B3-23AD-4684-87E4-194C74B8231E set GRAnimation4.0Name=GrosvenorRouletteAnimations4.0
set GRAnimation4.0ProductCode=8962F6E6-B982-48CB-81EE-8A1C369A18BE set FTPServer4.0Name=FTPServer4.0
set FTPServer4.0ProductCode=750381B9-BC1C-4308-93D9-9BEC409C5733 ::Machine IP Information
echo Machine IP Information:>>%logfile%
ipconfig>>%logfile% :: Start Execute
echo Uninstall Product Start...%date% %time%>>%logfile% ::Product4.0SP1
echo %ML4.0SP1Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%ML4.0SP1ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %ML4.0SP1Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %ML4.0SP1Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %ML4.0SP1Name% End %date% %time%>>%logfile% ::ProductDababase4.0SP1
echo %MLDB4.0SP1Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%MLDB4.0SP1ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %MLDB4.0SP1Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %MLDB4.0SP1Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %MLDB4.0SP1Name% End %date% %time%>>%logfile% ::Product4.0HF4
echo %ML4.0HF4Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%ML4.0HF4ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %ML4.0HF4Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %ML4.0HF4Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %ML4.0HF4Name% End %date% %time%>>%logfile% ::ProductDababase4.0HF4
echo %MLDB4.0HF4Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%MLDB4.0HF4ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %MLDB4.0HF4Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %MLDB4.0HF4Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %MLDB4.0HF4Name% End %date% %time%>>%logfile% ::Product4.0HF3
echo %ML4.0HF3Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%ML4.0HF3ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %ML4.0HF3Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %ML4.0HF3Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %ML4.0HF3Name% End %date% %time%>>%logfile% ::ProductDababase4.0HF3
echo %MLDB4.0HF3Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%MLDB4.0HF3ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %MLDB4.0HF3Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %MLDB4.0HF3Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %MLDB4.0HF3Name% End %date% %time%>>%logfile% ::Product4.0HF2
echo %ML4.0HF2Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%ML4.0HF2ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %ML4.0HF2Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %ML4.0HF2Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %ML4.0HF2Name% End %date% %time%>>%logfile% ::ProductDababase4.0HF2
echo %MLDB4.0HF2Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%MLDB4.0HF2ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %MLDB4.0HF2Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %MLDB4.0HF2Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %MLDB4.0HF2Name% End %date% %time%>>%logfile% ::Product4.0HF1
echo %ML4.0HF1Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%ML4.0HF1ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %ML4.0HF1Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %ML4.0HF1Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %ML4.0HF1Name% End %date% %time%>>%logfile% ::Product4.0
echo %ML4.0Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%ML4.0ProduceCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %ML4.0Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %ML4.0Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %ML4.0Name% End %date% %time%>>%logfile% ::DisplayControllerMedia4.0
echo %DCMedia4.0Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%DCMedia4.0ProductCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %DCMedia4.0Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %DCMedia4.0Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %DCMedia4.0Name% End %date% %time%>>%logfile% ::ProductDatabase4.0
echo %MLDB4.0Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%MLDB4.0ProductCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %MLDB4.0Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %MLDB4.0Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %MLDB4.0Name% End %date% %time%>>%logfile% ::AspersRouletteAnimations4.0
echo %ARAnimation4.0Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%ARAnimation4.0ProductCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %ARAnimation4.0Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %ARAnimation4.0Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %ARAnimation4.0Name% End %date% %time%>>%logfile% ::BlankRouletteAnimations4.0
echo %BRAnimation4.0Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%BRAnimation4.0ProductCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %BRAnimation4.0Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %BRAnimation4.0Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %BRAnimation4.0Name% End %date% %time%>>%logfile% ::GCasinoRouletteAnimations4.0
echo %GCRAnimation4.0Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%GCRAnimation4.0ProductCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %GCRAnimation4.0Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %GCRAnimation4.0Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %GCRAnimation4.0Name% End %date% %time%>>%logfile% ::GrosvenorRouletteAnimations4.0
echo %GRAnimation4.0Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%GRAnimation4.0ProductCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %GRAnimation4.0Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %GRAnimation4.0Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %GRAnimation4.0Name% End %date% %time%>>%logfile% ::FTPServer4.0
echo %FTPServer4.0Name% Start...%date% %time%>>%logfile%
MsiExec.exe /X{%FTPServer4.0ProductCode%} /qn /Lwme+ %logfile%
IF %ERRORLEVEL% EQU 0 echo Uninstall %FTPServer4.0Name% Successfull
IF %ERRORLEVEL% NEQ 0 IF %ERRORLEVEL% NEQ 1605 echo Uninstall %FTPServer4.0Name% Failed, ERRORLEVEL:%ERRORLEVEL%.
echo ERRORLEVEL:%ERRORLEVEL%>>%logfile%
echo %FTPServer4.0Name% End %date% %time%>>%logfile% :: End Execute
echo Uninstall Product End%date% %time%>>%logfile% ::Delete ProductFolder
rd %ProductFolder% /s /q || rem
IF %ERRORLEVEL% EQU 0 echo Delete %ProductFolder% Folder Successfull
IF %ERRORLEVEL% NEQ 0 echo Delete %ProductFolder% Folder Failed, ERRORLEVEL:%ERRORLEVEL%. pause
Bat脚本自动卸载软件-静默执行的更多相关文章
- 服务器A制定计划任务,BAT脚本自动备份oracle数据文件,拷贝至服务器B的共享目录。
运行环境:windows server 2008 R2 目的:在数据库服务器A进行数据库自动备份,并且保留5天. 为了安全,需要在web应用服务器B进行数据库的冗余备份,建立双保险.(保留15天) A ...
- C#_自动化测试 (四) 自动卸载软件
在平常的测试工作中,经常要安装软件,卸载软件, 即繁琐又累. 安装和卸载完全可以做成自动化. 安装软件我们可以通过自动化框架,自动点击Next,来自动安装. 卸载软件我们可以通过msiexec命 ...
- bat脚本自动备份文件资源
1:xcopy命令进行文件拷贝 2:脚本内容: <span style="font-size:18px;">@echo off color 0D MODE con: ...
- python(或BAT脚本)自动执行adb shell以后的命令
最近在用python做一个小工具,自动执行一些adb shell命令,使用subprocess.Popen来实现. 不过遇到个问题就是执行adb shell后就无法执行后面adb shell里的命 ...
- bat脚本自动安装Jmeter&Jdk
一句话能解决的事情,绝对不要写一篇文章:一篇文章能解决的事情,绝对不要使用各种工具:一个工具能解决的事情,绝对不要跑东跑西…… 文章主要介绍脚本如何下载.安装.配置Jmeter&Jdk. 不多 ...
- Windows下bat脚本自动发邮件
摘要:说明:很多木马会利用自身的程序截取系统敏感文件或信息发往指定的邮箱,而blat并不是木马,它小巧却有强大的发邮件功能,可不要用它做违法事,感觉和木马功能有一拼!下面先看个具体的实例(在blat同 ...
- Ubuntu 软件卸载脚本(卸载软件 + 移除配置文件 + 移除依赖项)
#!/bin/bash function z-apt-uninstall() { if [ ! $1 ] then echo "z-apt-uninstall error: software ...
- dpkg:处理 xxx (--configure)时出错解决办法,也可用于卸载软件出错的情况
dpkg:处理 xxx (--configure)时出错解决办法今早安装nfs时出现问题,找到该文,备份留用.然后在网上找到了这片文章,按步骤走就解决了,中间会提示自动卸载一下,执行那个命令就好了,我 ...
- BAT脚本如何自动执行 adb shell 以后的命令
@echo off echo su > temp.txt echo 其它命令 >> temp.txt adb shell < temp.txt del temp.txt 求问 ...
随机推荐
- [编织消息框架][netty源码分析]11 UnpooledHeapByteBuf 与 ByteBufAllocator
每种ByteBuf都有相应的分配器ByteBufAllocator,类似工厂模式.我们先学习UnpooledHeapByteBuf与其对应的分配器UnpooledByteBufAllocator 如何 ...
- Example012点击修改属性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JavaScript学习笔记(二)——选项卡小结
Js制作选项卡小结 1.先构思好需要展示的页面效果,比如这样 2.需要显示的效果通过html和css制作出来,包括选项(第一课.第二课)的鼠标停留背景变色.下方选项页内容切换的内容等. 3.把此选项卡 ...
- alive pdf 基本用法
alive pdf 基本用法 <?xml version="1.0" encoding="utf-8"?> <s:WindowedApplic ...
- 在两个ASP.NET页面之间传递变量【转】
ASP.NET提供了事件驱动编程模型,使开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,在传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递变量,同样的事情,在 ...
- MySQL(二)--事务与视图
一.事务 1.提交 2.回滚 3.ACID特性 二.视图 1.创建视图 2.删除视图 3.更新视图 4.使用视图 三.子查询 1. 使用子查询 2. 标量子查询 3. 关联子查询 一.事务 在 RDB ...
- java udp服务器设计源码
根据个人理解写的,轻喷. 没什么大的逻辑,直接上代码. UDPServer.java package mySocket;/* * 服务器端 */import java.awt.GridLayout;i ...
- 【原】无脑操作:Windows 10 + MySQL 5.5 安装使用及免安装使用
本文介绍Windows 10环境下, MySQL 5.5的安装使用及免安装使用 资源下载: MySQL安装文件:http://download.csdn.net/detail/lf19820717/9 ...
- PHP源码阅读strtr
strtr 转换字符串中特定的字符,但是这个函数使用的方式多种. echo strtr('hello world', 'hw', 'ab'); // 第一种 aello borld echo strt ...
- Java自学手记——Java中的关键字
Java中的一些关键字对于初学者来说有时候会比较混乱,在这里整理一下,顺便梳理一下目前掌握的关键字. 权限修饰符 有四个,权限从大到小是public>protected>defaul(无修 ...