使用参数执行
2022-09-04 01:39:23
我在Java中执行需要参数的批处理文件时遇到了困难。这些参数可能包含空格,因此我需要将它们括在引号中。我还需要对Linux做同样的事情,因为某些参数可能包含特殊字符,例如.!
非功能性窗口代码:
ProcessBuilder pb = new ProcessBuilder(
"cmd",
"/c",
"\"mybat.bat\"",
"\"param 1\"",
"\"param 2\"",
"\"param 3\""
);
非功能性 Linux 代码:
ProcessBuilder pb = new ProcessBuilder(
"bash",
"-c",
"'myshellscript.sh'",
"'param 1'",
"'param 2'",
"'param 3'"
);
我知道我应该添加像下面的Windows示例这样的参数,但这不适用于空格:
ProcessBuilder pb = new ProcessBuilder(
"cmd",
"/c",
"mybat.bat param 1 param 2 param 3"
);
应该如何做到这一点?