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

まず、操作が正しく起動された場合、操作はofcmd /kを返す必要があるため、例のようにラベルの 後ではなく、コマンドの前に呼び出しを行う必要があります。errorlevel0eventcreateexit:Stoppd

次に、生成されたプロセスとして実行するアーカイブ操作をトリガーする場合は、次の行startを前に置く必要があります。cmd

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

これにより、プロセスが開始され、現在のコンソールが続行して'archive has started'イベントをトリガーできるようになります。

第 3 に、アーカイブ操作の完了後にイベントを作成するには、いくつかの選択肢があります。

  1. 次のコマンドを使用して、2 つのコマンドを連結できます&

    start C:\WINDOWS\system32\cmd.exe /K "Archive Full Text Index Service" –optimize & eventcreate ...
  2. アーカイブ呼び出しとそれに続く eventcreate 呼び出しをバッチ ファイルに入れ、それを呼び出しで呼び出すことができますcmd /k

    start C:\WINDOWS\system32\cmd.exe /K myArchiveAndEventBatch.bat
于 2010-02-24T03:12:02.547 に答える
0

イベント ID を作成せず、 Blatなどの電子メール プログラムを使用して、警告が必要な場合に電子メールを送信するだけでよいでしょうか。

于 2010-02-24T03:11:45.090 に答える