等到Symantec End Point DoScan.exe完成扫描文件

时间:2011-03-14 13:28:36

标签: java antivirus antivirus-integration symantec

我正在开发一个使用文件上传的应用程序。我的客户端在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

但是在SEP将日志写入文件之前会返回"int exitVal = process.waitFor();"

因此,SEP "DoScan.exe"是否通过线程调用线程来开始扫描文件。

如果是,请建议我替代。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我已经创建了一个适合我的解决方案。

此处,在Symantec AV写入之前int exitVal = process.waitFor();返回的结果是.log文件。

所以,我写了一个循环,它根据日志文件的最后修改日期继续检查。

一旦,日志文件被修改,我读取结果。