File 使用批处理文件创建事件

File 使用批处理文件创建事件,file,batch-file,errorlevel,File,Batch File,Errorlevel,以下是我想要实现的目标。我们每周都会优化此电子邮件存档数据库。目前,我们正在手动登录,运行命令并监视状态。优化可能需要3-12个小时,这使得我们每隔几个小时登录一次,并检查是否完成等。 我要做的是创建一个批处理文件,并安排一个任务来运行批处理文件。现在,当批处理文件启动时,我将创建一个事件来生成一个事件ID(然后我可以捕获这个事件ID,并通过我们的监控系统生成一封电子邮件),同样,当优化完成时,在应用程序日志中生成事件ID。下面是我想做的:- @echo off cd C:\Program Fi

以下是我想要实现的目标。我们每周都会优化此电子邮件存档数据库。目前,我们正在手动登录,运行命令并监视状态。优化可能需要3-12个小时,这使得我们每隔几个小时登录一次,并检查是否完成等。 我要做的是创建一个批处理文件,并安排一个任务来运行批处理文件。现在,当批处理文件启动时,我将创建一个事件来生成一个事件ID(然后我可以捕获这个事件ID,并通过我们的监控系统生成一封电子邮件),同样,当优化完成时,在应用程序日志中生成事件ID。下面是我想做的:-

@echo off
cd C:\Program Files\Quest Software\ArchiveManager
C:\WINDOWS\system32\cmd.exe /K "Archive Full Text Index Service" –optimize
IF errorlevel 1 Goto Stoppd
exit
:Stoppd
eventcreate /l application /t information /so 9999 /id 1 /d "the optimization has started "
:end

我对批处理文件和脚本非常不熟悉。有人能就如何生成事件提供建议吗。?谢谢

如果不创建事件ID,而只是使用电子邮件程序(如在您希望收到警告时发送电子邮件)是否可以接受?

首先,如果正确启动,
cmd/k
操作应返回
errorlevel
0
,因此,对
eventcreate
的调用应该发生在
exit
命令之前,而不是在示例中的
:Stoppd
标签之后

第二,如果您想触发归档操作作为衍生进程运行,则应将
start
放在
cmd
行前面:

start C:\WINDOWS\system32\cmd.exe /K "Archive Full Text Index Service" –optimize
这将允许启动您的进程,然后当前控制台可以继续并触发您的
“存档已启动”
事件

第三,为了在归档操作完成后创建事件,您有两个选择:

  • 您可以使用
    将两个命令连接在一起:

    start C:\WINDOWS\system32\cmd.exe /K "Archive Full Text Index Service" –optimize & eventcreate ...

  • 你是如何开始备份的? start C:\WINDOWS\system32\cmd.exe /K myArchiveAndEventBatch.bat