在命令提示符下为来自Java的文件运行Windows Scanner

在命令提示符下为来自Java的文件运行Windows Scanner,java,windows,cmd,command-prompt,processbuilder,Java,Windows,Cmd,Command Prompt,Processbuilder,我正在尝试从Java以编程方式扫描文件,并希望在命令行上进行扫描 我可以在命令行中直接执行此操作,简单地导航到文件夹并执行命令: c:\Users\3XXXXX8\Desktop>cd "C:\\Program Files\\Windows Defender" && MpCmdRun.exe -Scan -ScanType 3 -File "C:\\UploadedFiles\\file" Scan starting... Scan finished. Scanning C

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

我可以在命令行中直接执行此操作,简单地导航到文件夹并执行命令:

c:\Users\3XXXXX8\Desktop>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,因为它是widows。但这不起作用。程序如下。 字符串[]命令需要修复

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 = {
            "\"C:\\Program Files\\Windows Defender\\MpCmdRun.exe\" -Scan -ScanType 3 -File \"C:\\UploadedFiles\\file\""
        };
这对我有用


我不需要cmd/c

我听说如果可以避免的话,我们不应该使用getRuntime。造成问题。我还需要运行多个命令。所以,不幸的是,不,它不能回答我的问题。哪些问题?具体点。一个接一个地运行这些进程。我算出来了。我想你应该看看这篇JavaWorld文章:
String [] commands = {
            "\"C:\\Program Files\\Windows Defender\\MpCmdRun.exe\" -Scan -ScanType 3 -File \"C:\\UploadedFiles\\file\""
        };