在命令提示符下运行 Windows 扫描程序以获取来自 Java 的文件



我正在尝试以编程方式从 Java 扫描文件,并希望在命令行上执行此操作。

我直接在命令行中使用它(简单地导航到文件夹并执行命令:

c:Users3XXXXX8Desktop>cd "C:\Program Files\Windows Defender" && MpCmdRun.exe -Scan -ScanType 3 -File "C:\UploadedFiles\file"
Scan starting...
Scan finished.
Scanning C:\UploadedFiles\file found no threats.

我希望它从Java工作。 我对我应该喂进程的字符串感到困惑。我找到了一些应该用 \c 输入命令字符串的地方,因为它是寡妇。但这行不通。程序如下。 字符串 [] 命令需要修复。

import java.io.*;
public class CmdTest {
public static void main(String[] args) throws Exception {
String [] commands = {
"cmd /c "cd "C:\Program Files\Windows Defender" && MpCmdRun.exe -Scan -ScanType 3 -File "C:\UploadedFiles\file"""
}
ProcessBuilder builder = new ProcessBuilder(commands);
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ( (line = r.readLine()) != null) {
System.out.println(line);
}
}
}

请帮忙。

我为命令字符串尝试过的其他一些组合:

String [] commands = { "cmd.exe", "/c", "cd "C:\Program Files\Windows Security Client"",
"MpCmdRun.exe -Scan -ScanType 3 -File C:\UploadedFiles\" + file.getName()
};

String [] commands = {
"cmd /c "cd "C:\Program Files\Windows Defender" && MpCmdRun.exe -Scan -ScanType 3 -File "C:\UploadedFiles\file"""
}

String [] commands = {
"cmd "cd "C:\Program Files\Windows Defender" && MpCmdRun.exe -Scan -ScanType 3 -File "C:\UploadedFiles\file"""
}

不知道如何分解它。

String [] commands = {
""C:\Program Files\Windows Defender\MpCmdRun.exe" -Scan -ScanType 3 -File "C:\UploadedFiles\file""
};

这对我有用^。

我不需要"cmd/c"

最新更新