1
수천 개의 파일을 이렇게 많은 디렉토리에 넣고 싶습니다.루비에서`FileUtils.mv`를 사용할 때 소스와 타겟이 같은 경우 오류를 무시하는 방법
require 'fileutils'
files = Dir.glob("**/*.jpg")
files.shuffle!
((files.size/100)+1).times do |i|
FileUtils.mkdir_p("%03d" % i)
100.times{|j|
begin
FileUtils.mv(files[j+i*100],"%03d" % i)
rescue ArgumentError
end
}
end
가끔 원본과 대상이 같은 파일입니다. 오류를 무시하려면 rescue ArgumentError
을 사용하고 있습니다.
그러나 나는 이것을 Exception
과 같이 사용하는 것은 나쁜 방법이라고 생각합니다. 소스와 대상이 같을 때 아무 것도 할 수없는 더 좋은 방법이 있습니까?
추적 오차를 넣어주세요, 난 당신이'사용할 수 있습니다 새 이름으로 파일이나 폴더 http://www.ruby-doc.org/core-2.0를 이동하기 전에 존재하는 경우 unless' 조건 –
당신은 확인해야합니다 생각합니다. 0/File.html # method-c-exists-3F –