2

ファイルのアップロードを使用するアプリケーションを開発しています。私のクライアントは、Windows Server で Symantec End Point Protection を使用しています。

そのため、サンプルコードを使用して、ファイルがサーバーにアップロードされているかどうかを確認しています。

コマンドラインを使用して SEP を呼び出しています。

サンプルコード:

              String[] commands =  new String[6];
              commands[0] = "cmd";
              commands[1] = "/c";

              commands[2] = "C:\\Program Files\\Symantec\\Symantec Endpoint Protection\\DoScan.exe";
              commands[3] = "/cmdlinescan";
              commands[4] = "/ScanFile";
              commands[5] = fileName;

             Process process = Runtime.getRuntime().exec(commands);

             int exitVal = process.waitFor();

また、SEP は、スキャンされた各ファイルの毎日のログを に生成することにも遭遇しました。

scanResult = "C:\\Documents and Settings\\All Users\\Application Data\\"Symantec\\Symantec Endpoint Protection\\Logs\\";   

だから、ここでファイルをスキャンしたい。

場所でファイルの読み取りを開始するチェックを入れました。プロセスから0を返すと

ただし、"int exitVal = process.waitFor();"SEP がログをファイルに書き込む前に返されます。

そのため、SEP"DoScan.exe"はスレッドを相互に呼び出して、ファイルのスキャンを開始します。

はいの場合、代替案を提案してください。

どんな助けでもいただければ幸いです

4

1 に答える 1

0

私は自分に合ったソリューションを作成しました。

int exitVal = process.waitFor();ここでは、 Symantec AV が結果を .log ファイルに書き込む前に返される何が起こったのかを示します。

そこで、ログ ファイルの最終更新日に基づいてチェックを続けるループを作成しました。

ログ ファイルが変更されたら、結果を読み取ります。

于 2011-03-16T12:35:36.993 に答える