2

我试图让扩展命令与 runtime.exec 一起使用,但大括号被解释为文字而不是被扩展。这是我正在尝试做的事情:

String command = "mkdir -p Foldername{1,2,3}/InnerFolder";
Runtime.getRuntime().exec( new String[] { "sh", "-c", command } );

不幸的是,这给了我当前目录中名为“Foldername{1,2,3}”的单个文件夹,而不是“Foldername1”、“Foldername2”和“Foldername3”。有谁知道防止大括号被解释为文字的方法?

4

1 回答 1

3

您正在尝试使用 Bash 通配符。它们在 Bash shell 中进行解释。您正在直接运行 mkdir,因此没有 shell 可以解释{}. 您需要指定shell的路径

String command = "mkdir -p Foldername{1,2,3}/InnerFolder";
Runtime.getRuntime().exec( new String[] { "/bin/bash", "-c", command } );

来源

于 2013-05-10T16:35:18.167 回答