批处理文件总共停止服务18然后删除文件然后重新启动服务

时间:2011-05-26 11:33:27

标签: batch-file

我有大约140个需要定期维护的虚拟服务器,它们都运行消息队列,但存储文件需要保持在512MB以下。我需要按顺序停止所有服务,最后一个是MSMQ服务,然后转到system32 \ msmg \ storage文件并删除所有* .mq文件,一旦完成,我就希望批处理文件重启服务首先是msmq。我还需要添加一些错误消息,所以如果服务无法停止或启动或已经运行等,下面是我认为它应该是但不确定。可能有更好的方法, 计划将是所有服务器上的批处理文件,并设置一个方案任务来运行批处理文件。 是否可以生成一封电子邮件说它已成功完成?

NET STOP AVLDataService 2>&1|FIND "2182" 
IF errorlevel 1 goto :sub_already_stoped

2 个答案:

答案 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