«ifconfig -a» не показывает никаких интерфейсов

Поскольку с этим проще иметь дело (imho), я написал сам сценарий Ruby:

require 'fileutils'

ARGV.each { |file|
  if File.exist?(file) && !File.directory?(file)
    exif = `exiftool "#{file}" | grep -E "(Error|Create Date)"`
    if exif.strip.size > 0
      exif = exif.split("\n")[0].split(/\s+/)
      if exif[0] != "Error"
        # Change the target format here
        filename = exif[3].gsub(":", "-") + " " + 
                   exif[4].gsub(":", ".") + 
                   File.extname(file)
        if filename != file && !File.exist?(filename)
          FileUtils::mv(file, File.dirname(file) + "/" + filename)
        end
      end
    end
  end
}

Что он делает?

  1. Итерирует по всем файлам передается как параметры (например, *. JPG ).

    Я проверил, правильно ли он обрабатывает файлы и видео в формате RAW. Он должен работать со всем, с чем может иметь дело exiftool .

  2. Ничего не делает, если файл

    • не существует,
    • - это каталог,
    • не имеет даты EXIF, или
    • exiftool сообщает об ошибке, или
    • файл с целевым именем уже существует.

Это делает его довольно надежным. В частности, никакие файлы не могут исчезнуть (молча), как в случае с некоторыми другими ответами.

0
05.07.2015, 19:13
0 ответов

Теги

Похожие вопросы