我想使用Runtime.exec()从Java调用rsync,我想忽略隐藏的文件/文件夹。命令很简单,在命令行中就像一个魅力。
rsync -r --exclude=".*" source destination
我已经尝试了许多不同的组合,正确地打破这些参数,以作为String []传递给exec()。我失败了,我可能会失去理智。
我尝试过的一些例子
String[]{ "rsync", "-r", "--exclude", "=", ".*", source, destination});
String[]{ "rsync", "-r", "--exclude", "=", "\".*\"", source, destination});
String[]{ "rsync", "-r", "--exclude=\".*\"", source, destination});
大多数时候我最终得到exit 23(由于错误导致的“部分转移”),传输完成但包含隐藏文件/文件夹。
答案 0 :(得分:1)
如上所述".*"
由shell评估。最好将所有选项放在文件中并执行rsync @myfile
。
BTW我想知道原始命令是否排除子目录中的.*
目录。