ディレクトリを指定して、ソフトウェアにディレクトリとそのサブディレクトリ内のすべての写真を検索させたいのですが、EXIFの日付/時刻が含まれている場合はファイルシステムのタイムスタンプをEXIFと一致するように設定します。

コメント

  • もちろん、最近はソフトウェアの推奨事項-ここでいくつかのすばらしい回答が得られましたが

回答

これはの逆です。ファイル’の変更日に基づいてEXIF日付を設定するソフトウェアはありますか?、そして私はそこにリストされているすべてのプログラムが適用されると確信しています。

jhead

これらのうち、この非常に単純なタスクの場合、 jhead が私の提案です。たとえば、コマンド

jhead -ft *.jpg 

は、ファイルのタイムスタンプがEXIFと一致するように一連のファイルを設定します。

jhead with find、サブディレクトリを通過する場合

サブディレクトリへの再帰を実行するために、Linux /で使用可能なfindコマンドと組み合わせることができます。 Unix / Mac(またはWindowsの場合は Cygwin ):

find . -name "*.jpg" -exec jhead -ft {} + 

または*.JPG *.JPEG *.jpg *.jpeg ...試すこともできます

find . -iname "*.jp*g" -exec jhead -ft {} + 

findを使用して、すべてのファイルを表示することもできます。 ..他のコマンド(jheadなど)を実行せずに見つかった:

find . -iname "*.jp*g" 

その他のツール

ExifToolやExiv2などの他のユーティリティはたくさんありますより有能ですが、複雑さが犠牲になります。 何かを行うための適切なオプションをすぐに思い出せず、毎回ドキュメントを確認する必要がありますが、jhead -ftはニーモニックで簡単に覚えることができます。 「修正時間」。

ExifTool

ただし、完全を期すために、ドキュメントを確認しました ExifTool 、これを実行します:

exiftool -r "-DateTimeOriginal>FileModifyDate" directoryname 

(実行しない場合は-rを削除します「再帰は必要ありません。そうする場合は、directorynameの代わりにファイルのリストまたはワイルドカードを指定することもできます。)そして、これらの引用符に注意してください。これはWindowsで、"の代わりに"が必要です。

Exiv2

Exiv2

exiv2 -T rename *.jpg 

小文字の-t(または-Tなし)Exiv2は、タイムスタンプに基づいてファイルの名前を新しい名前に変更します。これは非常に混乱するかもしれません。 Exiv2も再帰を行いません。

コメント

  • その通りです。これは反対ですが、無限に便利です:)
  • jheadは、これに非常に役立ちます-そして他の多くのjpgファイル操作にも役立ちます。それを使用するときは注意してください-それは誤用された場合にある程度の大混乱をもたらす可能性がある非常に強力なツールです。バッチファイルで使用することをお勧めします。そうすれば、常に意図したとおりに実行し、最初にテストファイルセットで結果をテストできます。
  • +1しかし、私は自分自身に答えを与えました;-)将来的には他の人もそうです私が尋ねたことを正確に行う方法を見つけることができます…
  • @olibreはい、Linux / UnixまたはMacで動作します。
  • いくつかの画像ブラウザが存在することに気づきました(diaporama )ファイル名の順序でのみ写真を表示します(ファイルの変更時間ではありません)。最後に、EXIFタイムスタンプを使用してファイル時間を設定し、ファイル名のプレフィックスを付けます。コマンドfind -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +を使用します。説明:-name '[0-9][0-9]*'は、すでに日付プレフィックスが付いているファイルの名前を再度変更しないようにします('[0-9][0-9]は、年と月を考慮に入れます)。 -iname '*.jp*g'は、サポートされているファイル(JPEGファイルのみ)のみを処理するため、スキップできます。 %f元のファイル名を保持します。

回答

Irfanviewとjheadはどちらもあなたが望むことをします。
両方とも無料です。
以下の両方へのリンク。
jheadはコマンドライン駆動型であるか、他のプロセスから呼び出すことができます。
Irfanviewバージョンは、コマンドラインから、または内部的にバッチで、またはファイルごとに呼び出すことができます。

Irfanviewの以下の例は、どちらの方向にもコピーする方法を示しています:


Irfanview

EXIFからファイル仕様へまたはその逆(他のファイルなし)でのバッチまたはファイルごとの日付/時刻転送のGUIまたはコマンドライン変更を許可します必要に応じて変更します。

出典: www.irfanview。com

これははるかに簡単かつ迅速です実際には、以下の手順よりも数回使用しただけで表示されます。例
単一のファイルの日付/時刻をEXIF値に変換するには、
Shift-J、Alt-F、Enterが必要です。
最初の数回に時間がかかる理由を確認してください。

学習するのが複雑なファイルのバッチに対してこれを行うには-
必要なもの:T、Ctrl-A、Alt-F、J、Enter、(Alt-F)、Enter
(または:T、Ctrl- A、Shift-J、Enter)(オプションが少なくなります)
しかし、実際には、少し使用するとほぼ完全に直感的になります。メニューは、脳の経路が形成されるまで最初にガイドします。

GUI、ファイルごと

 Options, JPG lossless rotation (Shift-J) Select "Apply original EXIF date/time to new file" Consider also selecting other options 

ここに画像の説明を入力

GUI、1つまたは複数のファイル(サムネイルビュー経由)

警告:( 2020年に追加されました!)
間違ったオプションを選択すると、望ましくない結果が生じる可能性があることが指摘されています-たとえば、すべての宛先ファイルが単一の選択された日付に設定されていると時間。正しく行うのは「それほど難しいことではありません」が、さまざまなチェックボックスを見て、どのチェックボックスが目的に合っているかを判断してください。

Open Thumbnails view ("File, Thumbnails" or "T" from Window view Select images to change EXIF data of usually all in folder -> Ctrl-A Then: File, "JPG lossless operations" (1) Change EXIF date/time "Change EXIF date/time" Options are offered to set Date/time to specific setting or to move all times back/forwards by selected DHMS amount calculator provided to check result is as desired. (2) Transfer EXIF date / time to file saved date time "Lossless rotation with selected files" [Shift-J] then, as for single file version above Select "Apply original EXIF date/time to new file" 

ここに画像の説明を入力

コマンドラインから-これは「ローテーション」であり、日付/時刻をEXIFからファイルの日付と時刻にコピーする以外のアクションはありません。必要に応じて、逆のこともできます。 :

  • i_view32.exe file_spec \ *。jpg / jpg_rotate =(0,0,0,1,0,0,0,0)

  • 日付/時刻を反対方向にコピーするには((filespecからEXIF)
    上記のように(0,0,1,0,0,0,0,0)を使用します


jhead

あなたが行うことは何でもできますjpegファイルで想像できます

出典: http://www.sentex.net/~mwandel/jhead/

I以下のようにバッチファイルを使用します。他のオプションも可能です:

  • jhead -ft %1 .jpg

jheadがexifjpegファイルで変更できるもの

  • jpegtranを使用した回転タグに応じた直立画像
    内部exifタイムスタンプの設定または相対調整
    日付/時刻オフセットを大量に修正画像の数
    exifタイムスタンプに従ってファイルの名前を変更または日付スタンプ
    画像間でexifヘッダーを転送する
    Exifヘッダー内のサムネイルを置き換える
    jpegコメントを編集する(Exifコメントは除く)
    jpeg画像からexifまたはコメントセクションを削除する
    日付とを含む新しい最小exifヘッダーを作成するサムネイル

_________________________

注:2016年8月: “匿名ユーザー」は、私が言ったように、提案された変換が機能しないことを正しく示唆しました。関係する領域に広範囲に追加しました。

コメント

  • 2016年8月:”匿名ユーザー”は、私が言ったように1つの提案された変換が機能しないことを正しく示唆しました。’関連する領域に広範囲に追加しました。
  • 生のファイルはどうですか?
  • @MichaelClark I ‘その質問をしてくれてうれしいです:-)私たちは皆JPGに取り組んでいるようです。 RAWではなくファイル。’あなたがRAWファイルでこれを行う方法を尋ねる可能性が高い人の1人になると思います:-)
  • 注意:” GUIのステップ1、1つまたは複数のファイル(サムネイルビュー経由)”は誤解を招く可能性があります。選択したすべてのファイルを次のように設定します。同じ日時(質問で尋ねられたものではありません)。ステップ2のみが、要求された結果につながります。
  • @Christophありがとうございます。冒頭に一般的な注意事項を追加しました。そのセクション。

回答

ファイルの最終変更日を変更できるもう1つのコマンドラインEXIFツールJPEG画像ファイルのEXIFメタデータに基づいて、写真を撮る時間と一致させるには、次のようにします。

 exiv2 -T rename somedir/foo*.jpg 

心配ありません、コマンド引数renameは問題なく、害はありません。
ファイルの名前変更アクションが悪用されて、タイムスタンプを変更するという副作用のみが発生するだけです。

回答

私は本当にファイルの日付/時刻に依存することをお勧めしませんが、画像に関しては、 EXIF Date Changer という無料のツールを使用して、すべてのJPG画像のファイル日付をバッチ設定できます。デフォルト設定では、ファイルの作成日と変更日の両方の日付が撮影された写真に設定されます。

これをお勧めしない理由は、ファイルの日付が簡単に更新されるためです。画像を編集すると、変更された日付が更新されます。画像をコピーすると、新しい日付が取得されます。

ファイル名を変更して、ファイル名自体に日付/時刻を含めることをお勧めします。これにより、並べ替えが簡単になり、機能します。 iPhone /ドロップボックスに保存されている画像に適しています。

EXIF日付チェンジャー-ファイルの日付を撮影日まで設定

回答

新しい無料ソフトウェア「PhotoDateOrganizer」をチェックしてください: http://photodateorganizer.sourceforge.net/

ここに画像の説明を入力

コメント

  • ソースソースページから:”提供元:killdaclick “。独自の製品の宣伝は’ここでは禁止されていますが、所属を明確にする必要があります。
  • @PhilipKendall完了:)

回答

FastStone Image Viewer でこれを実行できます(バージョン4.9を使用)-サムネイルペインでファイルを選択し、右クリックするだけです、[ツール]> [タイムスタンプの変更]を選択します。次に、EXIF(変更ありまたは変更なし)データを使用するか、独自の固定手動日付/時刻を使用できます。

コメント

  • うわー!私はそれを知りませんでした。私は彼らのスクリーンキャプチャツールを何年も使用していて、これ以上良いものは見つかりませんでした。最後の無料バージョンはこちらで入手できます。 ‘有料機能は必要ありません。私も過去にビューアを使用したことがありますが、それが可能かどうかはわかりませんでした。

回答

Advance Renamerは、非常にシンプルな最高のユーザーフレンドリーなソフトウェアです。

  1. すべての写真をAR(Advance Renamer)にドラッグアンドドロップします

  2. (左上)をクリックしますメソッドの追加->新しい名前

  3. 画像の中央下の1つをクリックすると、ボタン ExifTool が表示されます。このボタンをクリックするだけですべてのメタデータが表示されます。属性を指定すると、タグが取得されます。この場合は<ExifTool:DateTimeOriginal>

  4. これをコピーして、新しい名前テキストボックスIMG_<ExifTool:DateTimeOriginal>、など

  5. バッチの開始(上右)これにより、すべての名前が変更されます日付のあるファイル例: 2017_12_01 19_10_12 ファイル名に元の日付を含めると、属性が失われる可能性がありますが、ファイル名は失われません。

  6. 名前を変更してすべてドラッグします。ファイルをARに転送
  7. 新しい方法->タイムスタンプ
  8. すべてチェック[作成]、[変更]、[アクセス]の3つのチェックボックス(アクセスが機能しない場合があります)
  9. ファイル名パターンを貼り付けて<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
  10. バッチを開始します。
  11. あなたは元気です。ミッションは達成されました

回答

完了しましたライブラリ内のファイルの日付が混乱しましたが、どのツールにも満足していませんでした。ディレクトリの再帰をサポートしないもの、ウィンドウ固有のタイムスタンプを変更できないもの、使いにくいものがあります。

新しいものを作成しました単一タスク用のコマンドラインツール-すべてを再帰的に処理する指定されたディレクトリ内のファイルを使用して、EXIF日付を抽出し、ファイル日付を設定します。

ツールはクロスプラットフォームです。

ExifDate2FSを参照してください。

回答

これは古い質問であり、うまくいくはずの提案がいくつかあるようですが、しかし、Android携帯のアップグレード後にファイルの順序の問題を分類するために私がたどり着いたのはこれでした。

  • クランクオープンWindows(数年ぶりに)
  • ExtFSをインストールしますまたはext4パーティションを読み取ることができるもの
  • MicroSDからハードディスクに写真をコピーする
  • 属性チェンジャーを使用する( https://www.petges.lu/home/ )作成/変更された日付をEXIF日付に設定する
  • 電話でカードを元に戻す
  • MTPを介して写真を電話にコピーする

これは誰かに役立つかもしれません。

回答

StackExchangeにサインアップしましただから私はこれを投稿してくれたOPに感謝し、私のworkarounを追加することができましたdbcここにあるコマンドのいくつかは私には機能しませんでした。申し訳ありませんが、私のプロセスについてお話します。

特にiCloudとGoogleフォトがデバイスから写真を取得し、ファイル管理がほとんどできないため、苦労が現実のものであるため、「写真アーカイブを最終的にクリーンアップしよう」という取り組みの真っ最中です。最近はそれを使ってください(以前は、優れたサービスと製品は少し厄介で、奇妙なランダム性と重複を強制し、克服するために真の努力が必要でした。)

私はFlickrを使用して写真を撮りましたドライブが小さすぎてすべてを保持できないときの私のマシン。2006年から1つのアカウントでGoogleフォトを使用しているので、さまざまなアップロードの化身を通じて、ランダムな複製とユニークな写真のセットがありました。

iPhoneの写真が実際に動き始めたら、USBで接続し、Dropboxにインポートして、日付と時刻のスタンプで名前を変更します🙌🏻、少しずつ年/月のフォルダに入れますタイムスタンプやショッピング写真を整理するためのキュレーションの結果、Googleフォトはそのアーカイブフォルダを監視してアップロードしました。これは、iCloudがiPhoneから写真を取得し、独自のワークフローが必要であることが証明されるまではうまく機能しました。

複製は常に大きな問題でした。GeminiIIと呼ばれるツールが最終的にこのクリーンアップとアーカイブプロジェクトを可能にしました。

アーカイブを外部ドライブに統合するために、私はすべての写真をダウンロードしますが、最新のiCloud(Image CaptureとiPhoneへのUSBを使用:100%信頼できるわけではありません)、Flickr、およびGoogleを除いて、すべてをクリーンアップします。

それが私が発見した方法です。 Exifデータ:一部の写真(一部のみ)はフラットファイルではなく(下の画像を参照)、Finderにメタデータが表示されました。ほとんどの写真には作成日と変更日のみが表示されます。Wh Flickr(および一部はGoogle)からダウンロードしたとき、ダウンロードした日に作成および変更されたかのように保存されました。良くない。一部には目に見えるEXIFデータがありましたが、多く/ほとんどがフラットに見えました。私は重複を削除していましたが、タイムスタンプが間違っていました(同じサイズ以下の場合)。 Exifデータとタイムスタンプについて知ることで、ここにたどり着きました。

IMG _ ####またはDSC ####は常に役に立たないため、Dropboxの手順は常に重要でした。誰かが私になぜDropboxのステップをスキップせず、Automaterを使って名前を変更しなかったのかと尋ねました。Automaterには私が見ることができる機能がありませんが、Jheadのおかげでこれはついに機能するようになります。

最初にjheadをインストールしてから、ディレクトリを再帰的に実行する方法を理解しました。多くの場合、EXIFデータはまだ写真ファイルに残っていました。結果:jheadはファイルの日付からEXIFデータの日付まで。失望はありません。

まず、Macユーザーの場合:コマンドライン(ターミナル)からuntarのインストール手順に従います。 jheadでそれらが見つからない場合は、jhead tarballの場所で一般的なuntar命令とsubを見つけてください。コマンドラインからダウンロードしてインストールしようとしても、うまくいきませんでした。次へ:AppStoreからXcodeをインストールしてください。すべてのApple開発者はこのプログラムを必要とし、それがなければ機能しないコマンドを機能させます。「make」と「installmake」に必要です。

jheadツールの使用:私はUnixの説明とマニュアル(man jhead)を読むことに慣れていませんが、CLIに精通しているため、誰かがどこかで何かを文書化した場合、何かが機能するまでオプションを試します。

これはうまくいきませんでした:

[必要なディレクトリ]> find -name “* .jpg” -exec jhead -ft {} +

StackExchangeの他の場所で、検索のために作業する必要のある別の再帰検索文字列を見つけました(必要とは思われない-printオプションがありました):

 find . | grep ".*[.]jpg" 

しかし、jheadコマンドを追加すると、「grep」を理解できなかったというエラーが表示されます。

検索オプション/変数を追加および削除し、jheadをに取得しようとすると、検索語を分解します。そのコマンドの一部であることは、古い規則を試すまで機能しませんでした:

jhead -ft ./*/*.jpg 

これは、長いディレクトリ全体を実行しましたが、機能しませんでした。 「EXIFタイムスタンプが含まれていません」や「エラー:時間」0000:00:0000:00:00」などの非常に多くのエラーを吐き出します。 Unix時間に変換する」

私が調べたところ、ダウンロードされた昨日のタイムスタンプはごく少数しか残っていませんでした。そこで、「duplicates」フォルダにあるファイルの他の10個のフォルダでこれをテストしました。 2020年の日付は2004、2013、2012に戻りました。同じディレクトリを2回実行すると、2回目の出力が得られないことを学びました。

次に、jheadを使用してファイルの名前を変更しました。タイムスタンプの規則。これは魅力のように機能しました。元のファイル名に意味が含まれていて、それを保持したい場合は、選択した日付スタンプ文字列にこれを含めるようにしてください。

" "%f … *.jpg 

Finderがこの情報を表示できるときに一貫性がないことに不満を感じています。以下は、Finderが完全な情報を表示しているファイルの例です(まれです)。 写真EXIFデータのMacOS Finder情報の画像、完全

コメント

  • こんにちは、Photo-SEへようこそ。このStackExchangeはQ & Aサイトであり、各回答が質問に直接回答しようとします。それらは、しばしばスレッド化されるより典型的なディスカッションフォーラムのようではなく、投稿は元の投稿と同じくらい(多くの場合それ以上)互いに返信します。書かれているように、あなたの答えは、質問に答えることに焦点を合わせるのではなく、名前の変更ツールのあなたのニーズとプロセスについて非常に議論と物語を重視しています。
  • 技術について詳細、find -name '*.jpg' -exec jhead -ft {} +が機能しなかった理由’は、findが検索するためのパスを必要とするためです-name <...>のような式が与えられる前に。 ‘承認済み/投票数の多い回答を更新して、エラーを修正しました。代わりにこれを試してください:find . -name '*.jpg' -exec jhead -ft {} +
  • 私が’のパス内からコマンドを開始しなかった理由私が欲しかったディレクトリ? ‘が機能しなかった場合、’は機能しませんでした。回避策を見つけました。それは私の人生を楽にしてくれました。それで私はそれを投稿して渡しました。プログラマー以外の人に物事を説明する実際の例が歓迎されない場合、’十分に技術的でないことで叱られた場合、私は勝ちました’ tコメントをもう一度。ブラボー。
  • 書いたとおりに入力した場合、 ‘コマンドが機能しません。つまり、入力エラーです。私が提案したのは(find . -name '*.jpg' -exec jhead -ft {} +)、目的のディレクトリのパス内から実行する場合に使用する必要があるものです。パスとしてのドットは、”ローカルディレクトリ”を意味します。 find 必要な開始検索パス。これは、find ‘のマンページから入手できます。
  • プログラマー以外への説明について:良い答えは絶対にありますStackExchangeサイトで必要です。 ただし、質問に対する回答であることを条件とします。簡単なサイトツアーをご覧になり、StackExchangeサイトがディスカッション指向のインターネットフォーラムとどのように異なるかを理解してください。

回答

PhotoRenamerの作成者に提案しました…

PhotoRenamer 3.2 http://www.tgmdev.be/applications/photorenamer/photorenamer.php

ボタンを追加しますリボンの[オプション]タブ..そこから、ファイルのファイル時間ステータスを更新するためのオプションを選択できます..

ちなみに、マスクの使用を避けるために、私も追加します新しいマスク属性:%F。この単純なマスクを使用すると、ファイルの名前が変更されます…独自の名前になります…したがって、ファイルの時間属性を更新するファイルの名前を変更する必要はありません…

回答

他の無料プログラムはGooglePicasaです。すべての日時を簡単にバッチ変更できます。写真:

ここに画像の説明を入力してください

ここに画像の説明を入力してください

それに関するすばらしい記事: Picasaで写真の日付を写真が撮影された日付に変更する方法

コメント

  • このソリューションはどのようになっていますか働いていますか? OPは、ファイルの日付を EXIF の日付に対応するように変更したいと考えています。それはおそらくPicasaが行っていることではありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です