2014-06-07 4 views
-2

배열에 나타나는 특정 유형의 모든 파일을 삭제하고 싶습니다. 루비의 배열에있는 파일 삭제

Dir['**/*.???'] 

내가 File.delete을하려고했으나 배열을 전달하는 방법을 알아낼 수 없었다 다음과 같이 코드입니다. 나는 다음과 같은 것을 생각하고 있었다 :

Dir['**/*.???'].each do|i| 
    File.delete(something?) 
end 

어떤 도움을 주시면 감사하겠습니다.

답변

0

파일 (디렉토리가 아님) 만 삭제한다고 가정합니다. 이렇게하면 하위 디렉토리의 파일도 찾을 수 있습니다.

현재 디렉토리의 하위/하위 디렉토리 인 모든 파일을 찾고 디렉토리를 필터링 한 다음 삭제합니다.

+0

그 생각은 전부지만, 나는 모든 디렉토리를 얻고 싶습니다. – STXman

+0

나는 대답을 보았습니다. 모든 하위 디렉토리의 모든 파일을 찾습니다. –

+0

감사합니다. 완벽하게 작동했습니다. – STXman

1

당신은 목록에 지정된

require 'fileutils' 

FileUtils.rm Dir.glob('**/*.???') 

::rm

제거 파일을 할 수 있습니다. 이 메소드는 디렉토리를 제거 할 수 없습니다. : force 옵션이 설정되면 모든 StandardErrors가 무시됩니다.