Runtime.exec()을 사용하여 Java에서 rsync를 호출하고 숨김 파일/폴더를 무시하고 싶습니다. 명령은 간단하고 명령 행에서 매력처럼 작동합니다.rsync가 Java Runtime exec에 전달하여 올바른 폴더를 찾을 수 없음
rsync -r --exclude=".*" source destination
나는 이러한 인수를 정확하게 중단하여 String []으로서 exec()에 전달할 수있는 다양한 조합을 시도해 왔습니다. 나는 실패하고 내 마음을 잃을 것 같아. 나는, 전송이 완료되지만 숨겨진 파일/폴더를 포함 ("오류로 인해 부분 전송"입니다) 내가 exit 23으로 결국 대부분의 시간
String[]{ "rsync", "-r", "--exclude", "=", ".*", source, destination});
String[]{ "rsync", "-r", "--exclude", "=", "\".*\"", source, destination});
String[]{ "rsync", "-r", "--exclude=\".*\"", source, destination});
을 시도 무엇
몇 가지 예입니다.
Windows 또는 Unix에서 문제가 있습니까? Unix상의'exclude = ". *"부분은 일반적으로 프로그램 자체가 아닌 쉘에 의해 처리됩니다. 이 경우 명령 앞에'sh -c'를 실행할 수 있습니다. – Alex
@Alex 죄송합니다, 지정해야합니다 - 이것은 우분투를 실행하는 컴퓨터에 있습니다. –
"--exclude = '. *'"또는 "--exclude =. \\ *"로 시도해 보셨습니까? 쉘 덩어리 주위에서 작동 할 수도 있습니다. –