【内容】 Exif情報ファイル操作ツール

【説明】 Exif情報を元にファイルの一括操作を行うためのツールです。



===========================================================================
【ソフト名称】  Exif情報ファイル操作ツール ExifFileOpe Ver 1.40
【著作権者】  じょばんに
【対応機種】  WindowsでVB6作成のAPが動作する機種
【必要DLL】  VB6基本ランタイム
【最終更新】  2009/05/29
【ソフト種別】  フリーソフトウェア
【転載条件】  こんなんでいいと思われれば転載自由ですが、一応御連絡ください。
===========================================================================
・‥… 他の公開ソフト …‥・
 ◇ Exif機種名変換ツール Modechan
 ◇ NEFからJPEG抽出ツール NEF2JPG
===========================================================================

【ソフト紹介】

 このソフトウェアは、デジタルスチルカメラで撮影された画像に含まれるExif情報
を元に、ファイルの一括操作を行うために作成しました。

 作成するきっかけは、デジタルスチルカメラで撮影されたファイル名の変更や、
一部のExif情報書き換えを、ひとつひとつ手作業で行うのが面倒だったからです。

 動作確認している機種は、ニコンの一眼レフタイプのデジタルスチルカメラのみです。

 私自身が、ニコン製しか持っていないという理由です (^^;

 Exifのメーカーノートに依存する機能では、確実にニコン製しか対応していません。

 メーカーノートに依存しない機能は、他メーカー製やコンパクトタイプのデジタル
スチルカメラのファイルでも、動作するかもしれません。

===========================================================================

【免責】

 このソフトウェアで行った処理結果に対して、作者は何ら責任を負わない事とします。

 ファイルの破損が心配な場合は、必ず自己責任でファイルのバックアップを行って
から使用してください。

===========================================================================

【機能の説明】

■ Exifの撮影日時を変更する

  Exifに埋め込まれている撮影日時を変更します。
  日時の指定方法は、以下の2種類から選択します。

  (1) 日時を指定
    [設定]ボタンを押す事により、日時を指定するダイアログが開きます。
    年月日と時分秒を入力して、全て同じ撮影日時に変更します。
    但し、年月日のみ、時分秒のみの入力も可能です。

  (2) 差分で変更
    [設定]ボタンを押す事により、差分を指定するダイアログが開きます。
    加算/減算を選択し、日(何日分)/時(何時間)/分(何分)/秒(何秒)
    の内から1つ又は複数の要素を入力し、埋め込まれているExif情報の撮影年月日
    に対し、要素分の日時を加算または減算して撮影日時を変更します。

■ 機種名をファイル名に付加する

  Exif情報から機種名(カメラ名)を取得し、ファイル名に付加します。

  (1) 付加する位置を選択
    プレフィックス(ファイル名の前に付加)
    サフィックス(ファイル名の後ろに付加)

  (2) 区切り文字
    機種名とファイル名を区切る文字を指定します。

  (3) 機種名から取り除く文字列
    例えば、機種名が“NIKON D200”で“D200”のみをファイル名に付加したい
    場合は、“NIKON”を取り除く文字列として指定します。
    取り除かれた文字列の前後に空白がある場合は、カットします。
    ※事前に具体的な機種名が分かっていなければ、指定できませんね (^^;

■ ファイル名を撮影日時にする

  デジタルスチルカメラで撮影された画像のファイル名は、メーカーや機種によって
  異なりますが、例えば“DSC_00001”等のように何らかのIDと連番で構成されたもの
  になっています。

  いずれ最大までカウントすると、1番に戻ります。
  同一撮影日に1番に戻った場合、同一撮影日のファイルを、ファイル名で時系列に
  並べることができません。

  ファイル名で時系列に並べるには、ファイル名を撮影日時にしておく事が一番早い
  解決方法になります。
  [設定]ボタンを押す事により、ファイル名の形式を指定するダイアログが開きます。

  (1) 年月日
    年月日の形式を、コンボボックスから選択します。

  (2) 区切り文字
    年月日と時分秒を区切る文字を指定します。

  (3) 時分秒
    指定はできません。必ず“HHMMSS”形式となります。

■ ファイル更新日時を撮影日時にする

  デジタルスチルカメラで撮影された画像ファイルは、何もしなければ撮影された
  日時がファイルの更新日時となっています。

  但し、現像やレタッチ等の後処理でファイルを編集した場合は、編集した日時が
  ファイルの更新日時になってしまいます。

  ファイルの更新日時をExif情報の撮影日時に変更する場合に指定します。

■ 拡張子の大文字・小文字を揃える

  現像やレタッチ等の後処理の結果、ファイルの拡張子に大文字と小文字が混在する
  状況になる場合があります。

  拡張子の大文字と小文字をどちらかに統一したい場合に指定します。

■ Exif情報でフォルダ単位に振り分け

  Exif情報の特定のTAGの内容により、対象フォルダ内の画像ファイルをサブフォルダ
  単位に振り分ける機能です。

  振り分けの対象とする情報は、以下の4種類から選択します。

  (1) カメラ機種名
    カメラの機種名毎にサブフォルダを作成して振り分けます。

  (2) レンズ情報
    レンズのタイプや焦点距離でレンズ名を構成し、レンズ名称毎にサブフォルダ
    を作成して振り分けます。
    レンズ情報は、NIKONメーカーノートに依存します。

  (3) ISO感度
    撮影時のISO感度毎にサブフォルダを作成して振り分けます。

  (4) FLASH On/Off
    撮影時のフラッシュ On/Off別にサブフォルダを作成して振り分けます。

■ Exifのシリアル番号を空白にする (特殊オプション)
  ※処理対象は、JPEGファイル限定
  ※NIKONメーカーノート限定

  メーカーノートにシリアル番号/機体固有番号が存在した場合は空白にします。

■ Exifの撮影回数を変更する (特殊オプション)
  ※処理対象は、JPEGファイル限定
  ※NIKONメーカーノート限定

  (1) 回数を指定
    メーカーノートに撮影回数がある場合は、指定された撮影回数に変更します。

    但し、メーカーノートに削除回数がある場合、差し引き撮影回数がマイナス
    にならないように自動調整します。

  (2) 差分で変更
    メーカーノートに撮影回数がある場合は、指定された回数を加算または減算
    して撮影回数を変更します。

    但し、メーカーノートに削除回数がある場合、差し引き撮影回数がマイナス
    にならないように自動調整します。

===========================================================================

★ 注意事項 ★

  ファイル名を変更する際に、既に同一ファイル名が存在した場合は、自動的に
  01番からファイルの後ろに連番を付加します。

  しかし、既に存在していたファイルが未処理だった場合は、そのファイルも後で
  ファイル名が変更されるため、全ての処理が終了した時点で、01の連番が付加
  されたファイルが存在しても、同一ファイル名で連番が付加されていない元の
  ファイルは存在しなくなります。

  なぜ同一ファイル名が存在しないのに、01番が付いているファイルがあるのかと
  いう状態になりますので、ご了承ください。

  但し、01番が付加された後に該当ファイル名と同じになる状況が発生した場合、
  既に該当ファイル名のファイルは名前が変更されて連番を付加する必要が無い
  という状況になってしまいます。

  従って、その場合は連番が付かないファイル名に変更されてしまいます。

  以上のような、一見しただけでは理解不能な状況になる場合がありますので、
  ご承知おきください。

===========================================================================

【ランタイム】

 VisualBasic6.0で作成しているため、実行にはVB6のランタイムが必要になります。
OCXは使用していませんので基本的なランタイムのみで動作するはずです。

 最近のOSは、VB6基本ランタイムが既にインストールされているものがほとんどです。

 従って、セットアップが不要の場合が大半のため、セットアップタイプでの配布はせず、
以下の2種類のみの配布とします。

 ダウンロードして解凍しただけでは動作しない環境の方は、別途ご連絡ください。

・実行ファイルのみ配布  : LHA形式の圧縮ファイル(拡張子 LZH)
・実行ファイルのみ配布  : LHA形式の自己解凍圧縮ファイル(拡張子 EXE)

 ランタイムがインストールされている環境であれば、実行ファイルのみダウンロード
すれば起動/実行ができるのですが、たまに文字化けする場合があります。

 そのような場合の多くは、VB6JP.DLLというファイルがセットアップされていない
場合が考えられます。VB6JP.DLLのみダウンロードできるようにしていますので、
解凍したVB6JP.DLLを\Windows\Systemフォルダにコピーしてください。
※WindowsNT, 2000, XP では、System32フォルダになります。

・VB6JP.DLLのみ配布  : LHA形式の圧縮ファイル(拡張子 LZH)
・VB6JP.DLLのみ配布  : LHA形式の自己解凍圧縮ファイル(拡張子 EXE)

===========================================================================

【INIファイル】

 起動すると、実行ファイルと同じフォルダー内に、“ExifFileOpe.ini”という
ファイルが自動的に作成されます。

 これは、実行されたときの状態を記憶しておき、次回起動時に前回実行時の内容を
表示するために使っています。

 また、Window位置の復元にも使用しています。

 設定内容が分かるように、敢えてレジストリではなく、INIファイルにしています。

===========================================================================

【履歴】

2009/05/29 Ver1.40
  ・サブフォルダを処理対象とする場合、一部の環境において、サブフォルダが
   正しく取得できず、サブフォルダ以下のファイルが処理対象とならない事が
   ある不具合を解消しました。

2009/05/13 Ver1.30
  ・Exif情報取得ロジックの中で、Nikonメーカーノートの情報取得のバグを修正
   しました。バイト並びの形式が、TIFFヘッダーとメーカーノートでは異なる
   可能性がある事に気がつき、メーカーノートのExif情報取得時は、メーカー
   ノートのバイト並びの形式を使用するように修正しました。
  ・ファイル名変更時の同一ファイル名存在時、02番から連番を付加していまし
   たが、01番からの連番に変更しました。

2009/01/26 Ver1.24
  ・ファイル振り分け処理を行った場合、振り分け先で同一ファイル名が存在した
   場合にエラーもしくは、上書き確認が出ていたので、連番を付けて振り分ける
   ように修正しました。

2009/01/21 Ver1.23
  ・ファイル名を変更する処理が実行された時、同一ファイル名が存在したら自動的に
   02から連番を付加する仕様で、存在していたファイルには01を付加していました。
   そのため、01に名前を変えられたファイルが未処理だった場合、処理開始時に記憶
   していたファイルの名前が変わって存在しない状況が発生し、エラーとなっていた
   バグを修正しました。
   修正内容は、同一ファイル名が存在する場合は、元々のファイル名に01を付加しない
   ように仕様変更しました。

2008/03/29 Ver1.22
  ・撮影日時変更オプションでは、変更するExifのタグの対象を“DateTimeOriginal”
   に限定していましたが、デフォルトで“DateTimeDigitized”の変更も行うように
   変更しました。

2007/09/13 Ver1.21
  ・Exif情報取得ロジックの一部を変更しました。

2007/09/10 Ver1.20
  ・最初の公開バージョンです。

◇実行ファイルのみ配布 : LHA形式の圧縮ファイル(拡張子 LZH)

ダウンロード
  【 EFOP140.LZH 】

◇実行ファイルのみ配布 : LHA形式の自己解凍圧縮ファイル(拡張子 EXE)

ダウンロード
  【 EFOP140.EXE 】

----------------------------------------------------------------------
■実行ファイルのみダウンロードして文字化けする場合は、以下のファイルを
 ダウンロードして、\Windows\Systemフォルダにコピーしてください。
 ※WindowsNT, 2000, XP では、System32フォルダになります。
----------------------------------------------------------------------

◇VB6JP.DLLのみ配布 : LHA形式の圧縮ファイル(拡張子 LZH)

ダウンロード
  【 VB6JP.LZH 】

◇VB6JP.DLLのみ配布 : LHA形式の自己解凍圧縮ファイル(拡張子 EXE)

ダウンロード
  【 VB6JP.EXE 】


バグ報告・御意見・転載連絡等がありましたら、以下のメールアドレスにお願いします。
E-Mail : giovanni@urbanfactory.jp


メールを出してメアドを知られるのがイヤだと言う方は、こちらからどうぞ。

 → メッセージ送信フォーム

[戻る]