我有大约140个需要定期维护的虚拟服务器,它们都运行消息队列,但存储文件需要保持在512MB以下。我需要按顺序停止所有服务,最后一个是MSMQ服务,然后转到system32 \ msmg \ storage文件并删除所有* .mq文件,一旦完成,我就希望批处理文件重启服务首先是msmq。我还需要添加一些错误消息,所以如果服务无法停止或启动或已经运行等,下面是我认为它应该是但不确定。可能有更好的方法, 计划将是所有服务器上的批处理文件,并设置一个方案任务来运行批处理文件。 是否可以生成一封电子邮件说它已成功完成?
NET STOP AVLDataService 2>&1|FIND "2182"
IF errorlevel 1 goto :sub_already_stoped
答案 0 :(得分:0)
你走在正确的轨道上。批处理文件当然可以通过所需顺序的NET START/STOP
调用来完成此操作。对于错误处理,如果错误是非致命的echo
,则向文本文件发送消息并继续。如果它是致命的,那么使用goto
跳转到文件的末尾。在文件末尾,您可以使用BMAIL向自己发送包含错误消息的文本文件。
答案 1 :(得分:0)
试试这个:
@echo off
title Service Uninstaller
color 0A
set blank=
set service=blank
:start
echo.
echo.
echo.
SET /P service=Enter the name of the service you want to uninstall:
IF "%service%"=="" (ECHO Nothing is entered
GoTo :start)
cls
echo.
echo.
echo.
echo We will delete the service: %service%
ping -n 5 -w 1 127.0.0.1>nul
::net stop %service%
ping -n 2 -w 1 127.0.0.1>nul
sc delete %service%
pause
:end