2009-10-16 2 views
0

RubyZip을 사용하여 파일을 압축하려고합니다. 지금은 특정 디렉토리와 하위 디렉토리를 행복하게 처리 할 수있는 방법이 있습니다.RubyZip - 다른 디렉토리의 파일에 우편 번호가있는 경로가 있습니다.

def zip_directory(zipfile) 
    Dir["#{@directory_to_zip}/**/**"].reject{|f| reject_file(f)}.each do |file_path| 
     file_name = file_path.sub(@directory_to_zip+'/',''); 
     zipfile.add(file_name, file_path) 
    end 
end 

그러나 완전히 다른 폴더의 파일을 포함하고 싶습니다. 대신 폴더의 루트에 파일을 배치하는 파일이 추가됩니다

def zip_additional(zipfile) 
    additional_files.reject{|f| reject_file(f)}.each do |file_path| 
     file_name = file_path.split('\\').last 
     zipfile.add(file_name, file_path) 
    end 
end 

있지만, 그것은 또한 복사 디렉토리 구조 : 나는이 문제를 해결하기 위해 다음과 같은 방법이있다. 이것은 실제로 성가 시며 작업하기가 더 어려워집니다.

어떻게이 문제를 해결할 수 있습니까?

감사

벤 우편 라이브러리에 대한 전체 경로를 포함 (또는 제외) 거기에 설정되어

답변

1

+0

나는 rdoc에서 아무것도 볼 수없는 것 같습니다. - http://rubyzip.sourceforge.net/ –

+0

나는 rubyzip에 대해 잘 모르지만, 그게 문제라고 생각합니다. 표준 우편 라이브러리는이 설정을 가지고 있습니다 (전체 경로 포함), 아마도이 도움말은 도움이 될까요? : http://info.michael-simons.eu/2008/01/21/using-rubyzip-to-create-zip -files-on-the-fly/ 경로 작성 방법에 관한 코드 아래에 메모가 있습니다. – dusoft

0

을 설정하면 파일 이름의 풀 경로를했기 때문에 그것이 밝혀 있는지 확인합니다. 내 분할은 경로가 a 대신 /로 사용 되었기 때문에 작동하지 않았습니다. 파일 이름에서 경로가 제거되면서 방금 작동했습니다.

관련 문제