Batch file 使用BAT文件记录成功的卸载

Batch file 使用BAT文件记录成功的卸载,batch-file,logging,uninstallation,Batch File,Logging,Uninstallation,我已经创建了一个BAT文件来卸载任何版本的skype。它很好用。我想将其设置为同时检查事件查看器,以查看它是否已成功卸载。我想知道是否有人对这种性质做了什么。到目前为止,我的情况如下: @echo off echo Closing skype... taskkill /F /IM Skype.exe echo Removing previous versions... wmic product where "Name like 'Skype%%'" call uninstall 新代码: @E

我已经创建了一个BAT文件来卸载任何版本的skype。它很好用。我想将其设置为同时检查事件查看器,以查看它是否已成功卸载。我想知道是否有人对这种性质做了什么。到目前为止,我的情况如下:

@echo off
echo Closing skype...
taskkill /F /IM Skype.exe
echo Removing previous versions...
wmic product where "Name like 'Skype%%'" call uninstall
新代码:

@ECHO off

IF EXSIST "C:\Program Files (x86)\Skype" GOTO INSTALLED
ELSE IF EXSIST "C:\Program Files\Skype" GOTO INSTALLED
ELSE GOTO NOTINSTALLED

:Installed
taskkill /F /IM skype.exe
wmic product where "name like 'Skype%%'" call uninstall
shutdown /r /f

:NOTINSTALLED
EXIT

您可以检查
%errorlevel%
变量以获取最后一个错误代码

如果它是0,那么它工作了

if %errorlevel%==0 echo Uninstall successful
编辑:

新代码的更新(不能批量执行
,否则,只能单独使用)

您可以尝试:

(
echo.Exit code was %errorlevel%
echo.
echo.Uninstall application terminated on %date% - %time%
) > ".\uninstall_log.txt"
如果要输出到控制台,请使用以下命令:

echo.
echo.
echo.Exit code was %errorlevel%
echo.
echo.Uninstall application terminated on %date% - %time%
echo.
echo.
echo.
echo.Press any key to exit Skype uninstaller.
pause>nul
exit

谢谢,我想做一个if-else语句来完成这个过程,但是我能得到的最接近的是2个if语句,但是它不会重新启动,不管我按哪个顺序重新启动。如果卸载成功,我希望它重新启动,并且基本上强制执行errorlevel到基本状态,即批处理文件出错,即使它成功运行了命令,因为我们用于将其推出的软件一直认为它成功,即使它没有删除任何内容<代码>如果%errorlevel%='0'(关闭/r/f)如果不是%errorlevel%='0'(退出%errorlevel%)
请原谅我的代码格式设置,我正试图将其正确阻止,但由于不熟悉此网站的发布,无法使其正常工作。应该是两行。@KevinHogan不用担心,如果没有得到有用的错误代码,你能再做一次检查以确认卸载,即删除程序文件夹吗?我看了一下,它被卸载了,使用这两条if语句,它不会重新启动,无论卸载是否成功。基本上,我们是在向那些拥有skype的人发布这个消息,我们不想让他们拥有skype,并且希望系统在卸载成功后重新启动,但要将错误代码传回正在发布它的软件。现在,它显示bat文件成功运行,即使它没有卸载。您是否尝试设置关机超时?如果你没有,默认情况下是30秒。i、 e.
关机/r/t 0/f
谢谢,这是另一个值得了解的好选择。
echo.
echo.
echo.Exit code was %errorlevel%
echo.
echo.Uninstall application terminated on %date% - %time%
echo.
echo.
echo.
echo.Press any key to exit Skype uninstaller.
pause>nul
exit