gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 09:02:07 26 4
gpt4 key购买 nike

我正在尝试从 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 输入命令字符串,因为它是寡妇。但这是行不通的。程序如下。String[] 命令需要修复。

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”

关于java - 在命令提示符下运行 Windows 扫描程序以获取来自 Java 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60084997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com