4

这就是我想要实现的目标。我们有这个电子邮件存档数据库,我们每周都会对其进行优化。目前我们正在手动登录运行命令并监控状态。优化可能需要 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

我对批处理文件和脚本很不满意。有人可以建议如何生成事件。?谢谢

4

2 回答 2

1

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

其次,如果您想触发存档操作作为衍生进程运行,您应该start在该行前面放置cmd

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

这将允许您的流程启动,然后当前控制台可以继续并触发您的'archive has started'事件。

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

  1. 您可以使用以下命令将两个命令连接在一起&

    start C:\WINDOWS\system32\cmd.exe /K "归档全文索引服务" –optimize & eventcreate ...
  2. 您可以将归档调用及其随后的 eventcreate 调用放在一个批处理文件中,然后在您的调用中调用它cmd /k

    启动 C:\WINDOWS\system32\cmd.exe /K myArchiveAndEventBatch.bat
于 2010-02-24T03:12:02.547 回答
0

当您想收到警告时,不创建事件 ID 并简单地使用像Blat这样的电子邮件程序发送电子邮件是否可以接受?

于 2010-02-24T03:11:45.090 回答