在cmd.exe中,我尝试这样做:
错误信息为:
系统找不到指定的文件。
它可以与以下内容一起使用:
echo " read "book <init>""
错误信息为:
系统找不到指定的文件。
它可以与以下内容一起使用:
echo "read "book ^<init^>""
但是如果我想从Java中作为参数发送,它将无法工作:
String s4 = "read \"book ^<init^> \"" ;
我该如何在Java中转义cmd的 < > 符号?
完整代码:
public static void main(String[] args) throws IOException, InterruptedException{
List<String> paramsArray = new ArrayList<String>();
String s = "read \"book ^<init^> \"" ;
paramsArray.add("exec.cmd"); //cmd file that only has echo %*
paramsArray.add(s);
ProcessBuilder process = new ProcessBuilder(paramsArray).inheritIO();
Process p = process.start();
int exitStatus = p.waitFor();
System.out.println("exitStatus is " + exitStatus);
if (exitStatus == 0)
{
System.out.println("Ok!");
}
else{
System.out.println("Not ok!");
}
}