題:
是否有免費程序(批量)更改照片文件的日期以匹配EXIF?
Mawg says reinstate Monica
2012-09-14 18:27:09 UTC
view on stackexchange narkive permalink

我想指定一個目錄,並讓軟件查找該目錄及其子目錄中的所有照片,如果它們包含EXIF日期/時間,它將設置其文件系統時間戳以匹配EXIF。

當然,如今,我會在[軟件推薦](https://softwarerecs.stackexchange.com/)上問這個問題-儘管它在這裡有一些不錯的答案
十一 答案:
Please Read My Profile
2012-09-14 19:23:15 UTC
view on stackexchange narkive permalink

這是是否有任何軟件可以根據文件的修改日期設置EXIF日期?,並且我確定那裡列出的所有程序都將適用。

jhead

其中,對於這個非常簡單的任務,我建議使用 jhead。例如,命令

  jhead -ft * .jpg  

設置一堆文件,以便文件時間戳匹配EXIF。

具有 find 的jhead,用於遍歷子目錄

為了執行到子目錄的遞歸操作,可以將其與 find 命令結合使用Linux / Unix / Mac(或Windows上的 Cygwin):

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

或查找 *。JPG * .JPEG * .jpg * .jpeg ... ,您也可以嘗試

 查找。 -iname'* .jp * g'-exec jhead -ft {} +  

您還可以使用find來顯示將要找到的所有文件,而無需執行任何操作其他命令(如jhead):

  find。 -iname'* .jp * g' 

其他工具

其他實用程序(例如ExifTool或Exiv2)功能更強大,但代價是複雜。我永遠不會記住隨便使用這些選項的正確選項,並且每次都必須看一下文檔,但是 jhead -ft 用助記符“修復”很容易記住時間”。

ExifTool

為了完整起見,我 did 查看文檔,並使用 ExifTool

  exiftool -r'-DateTimeOriginal>FileModifyDate'目錄名 

(如果不想遞歸,請刪除 -r ,如果這樣做,也可以提供文件列表或通配符而不是目錄名。)請注意這些引號-如果在Windows上運行,則需要而不是'

Exiv2

使用 Exiv2

  exiv2 -T重命名* .jpg  

請注意,如果使用小寫的 -t (或不使用任何 -T ),Exiv2也會根據時間戳將文件重命名為新名稱,這可能會造成混亂。 Exiv2也不進行遞歸。

您是對的,這是相反的,但它實際上更有用:)
jhead對此非常有用-以及許多其他jpg文件操作。使用它時要小心-它是一種非常強大的工具,如果使用不當,可能會造成一定程度的破壞。我建議在批處理文件中使用它,以便您始終按預期進行操作,並首先在測試文件集上測試結果。
+1,但我給了自己答案;-)以便將來其他人可以找到一種方法來完全按照我的要求做...
@olibre是的,它將在Linux / Unix或Mac上運行。
我注意到有些圖片瀏覽器僅以文件名順序顯示(散景)圖片(而不是文件修改時間)。最後,我使用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',因為`jhead`只處理受支持的文件(僅JPEG文件)。 %f保留原始文件名。
Jhead做得很完美!它是一種快速而強大的工具。
jhead確實負責內容的遞歸處理。 1)將網絡文件夾映射到新的驅動器號(我的內容存儲在NAS上,如果是本地則跳過)2)打開命令行並鍵入:`jhead -ft ** \ *。jpg`這是將觸發的雙星號子文件夾處理
@user705734不是jhead,這是Shell的功能。 (或與Windows等效的任何東西。)
@mattdm完全沒有。它沒有鏈接到外殼,是jhead文檔的一部分。我只是在Windows命令行上執行此操作,這不是Windows支持的語法。只需閱讀文檔,您就會自己看到。
Russell McMahon
2014-01-06 03:12:28 UTC
view on stackexchange narkive permalink

Irfanview和jhead都可以做您想做的事。
兩者都是免費的。
鏈接到下面兩者。
jhead是命令行驅動的或可以由其他進程調用。
Irfanview版本可以從命令行調用,也可以在內部批量或逐個文件地調用。

下面的Irfanview示例顯示瞭如何向任一方向複製:


Irfanview

允許從EXIF到文件規格的批處理或每個文件日期/時間的GUI或命令行更改,反之亦然(

來源:免費提供的 www.irfanview.com

這是 MUCH 在實踐中會比以下說明更容易,更快捷地顯示出來。例如,
要將單個文件的日期/時間轉換為EXIF值,需要
Shift-J,Alt-F,Enter。
了解為什麼第一次幾次需要更長的時間。

要對一批複雜的SOUNDS文件進行學習-
它需要:T,Ctrl-A,Alt-F,J,Enter,(Alt-F),Enter
(或:T,Ctrl-A,Shift-J,Enter)(提供較少的選項)
實際上,經過一點使用,它幾乎是完全直觀的-菜單最初會指導您直至形成大腦路徑。

GUI,每個文件

 選項,JPG無損旋轉(Shift-J)選擇“將原始EXIF日期/時間應用於新文件”考慮還選擇其他選項 

enter image description here

GUI,一個或多個文件(通過縮略圖視圖) >

警告:(添加2020年!)
已指出,選擇錯誤的選項可能會導致不良結果-例如,將所有目標文件設置為單個選擇的日期和時間。正確執行此操作“不是太難”-但是請查看各個複選框,並確定哪個複選框適合您的需求。

 打開縮略圖視圖(“文件,窗口視圖中的縮略圖”或“ T”選擇圖像以更改圖像的EXIF數據
通常全部位於文件夾中-> Ctrl-AT時:文件,“ JPG無損操作”(1)更改EXIF日期/時間“更改EXIF日期/時間”提供了將日期/時間設置為特定設置或將所有時間後退/根據需要選擇提供的DHMS數量計算器進行轉發。 (2)將EXIF日期/時間傳送到文件保存日期時間“對所選文件進行無損旋轉” [Shift-J],然後,對於上述單個文件版本,選擇“將原始EXIF日期/時間應用於新文件”  

enter image description here

從命令行-這是“輪播”,沒有操作,只是從中復制日期/時間EXIF文件日期和時間。如果需要,也可以相反。 :

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

  • 要以相反的方向複製日期/時間((將文件規範複製到EXIF)
    與(0,0,1,0,0,0,0,0,0)相同地使用


jhead

幾乎可以完成jpeg文件可以想像的任何事情

來源: 來自 http://www.sentex.net/~mwandel/jhead/

,我免費使用以下批處理文件。其他選項是可能的:

  • jhead -ft %1 .jpg

他們說:jhead可以在exif中進行修改jpeg文件

  • 使用jpegtran根據旋轉標籤在右上圖像
    設置或相對調整內部exif時間戳
    修復大批圖像中的日期/時間偏移
    根據exif時間戳重命名或添加日期戳文件
    在圖像之間轉移exif頭文件
    替換Exif頭文件內的縮略圖
    編輯jpeg註釋(而不是Exif註釋)
    刪除exif或評論jpeg中的部分魔法師
    創建一個新的包含日期和縮略圖的最小exif標頭

_________________________

注意:2016年8月:“匿名用戶”正確地建議一個建議的轉換不起作用,正如我所說。我已經廣泛地添加到有關領域。

2016年8月:“匿名用戶”正確地建議一個建議的轉換不起作用,正如我所說。我已經廣泛地添加到有關領域。
原始文件呢?
@MichaelClark,很高興您提出這個問題:-)。我注意到我們似乎都處理了JPG文件,而不是RAW。我以為您會是問起如何對RAW文件進行此操作的更可能的人之一:-)。
注意:“ GUI,一個或多個文件(通過縮略圖視圖)”下的第1步具有誤導性:它將所有選定文件設置為相同的日期和時間(這不是問題中要問的內容)。只有步驟2會導致請求的結果。
@Christoph謝謝。我在本節的開頭添加了一般性的注意事項。
好吧,我不確定這是否會對我有幫助,但是肯定總比沒有好。問題是:問題在於將文件日期更改為各自的EXIF日期,而不是將所有文件日期都更改為相同的日期。因此,當您閱讀答案時,就假定它與問題匹配。UI本身對於批處理模式也模棱兩可。這樣您就不必注意到錯誤了。
Volker Siegel
2014-08-23 15:09:10 UTC
view on stackexchange narkive permalink

只是另一個命令行EXIF工具,它可以根據JPEG圖像文件中的EXIF元數據來更改文件的最後修改日期以匹配拍照時間:

  exiv2 -T重命名somedir / foo * .jpg  

不用擔心,命令參數 rename 在那裡就可以了,並且沒有害處。
僅僅是文件重命名操作被誤用於僅產生更改時間戳的副作用。

Greg
2014-11-03 04:45:40 UTC
view on stackexchange narkive permalink

當我真的不建議您依賴文件日期/時間時,可以使用名為 EXIF Date Changer的免費工具進行批量設置您所有JPG圖像的文件日期。默認設置將同時為拍攝的照片設置創建日期和日期修改文件日期。

我不建議您使用文件日期的原因很容易更新。如果您編輯圖像,則修改日期會更新。如果復製圖像,它將獲得一個新日期。

更好的解決方案是重命名文件以在文件名本身中包含日期/時間。這樣仍然可以輕鬆進行排序,並且可以很好地處理存儲在iPhone / Dropbox上的圖像。

EXIF Date Changer - Set file dates to date taken

killdaclick
2015-07-15 15:12:03 UTC
view on stackexchange narkive permalink

查看我新的免費軟件“照片日期管理器”: http://photodateorganizer.sourceforge.net/

enter image description here

在SourceForge頁面上:“為您帶來了:killdaclick”。這裡不禁止廣告宣傳自己的產品,但您應該清楚說明自己的隸屬關係。
AiliszyjszCMT完成了:)
Kozuch
2017-08-04 14:09:17 UTC
view on stackexchange narkive permalink

FastStone Image Viewer可以做到這一點(使用4.9版)-只需在縮略圖窗格中選擇文件,右鍵單擊它們,選擇“工具”>“更改時間戳記”-然後您可以使用EXIF (無論是否進行了修改)數據或使用按用戶自定義的固定手動日期/時間。

哇!我確實不知道。我已經使用他們的屏幕捕獲工具很多年了,沒有發現更好的東西。您可以在[此處](https://www.portablefreeware.com/?id=775)獲得最新的免費版本;我不需要任何付費功能。我過去也曾使用過他們的查看器,但不知道它可以做到這一點。
Shalem Raj
2018-03-04 03:46:42 UTC
view on stackexchange narkive permalink

Advance Renamer是最好的用戶友好軟件,它非常簡單。

  1. 將所有照片拖放到AR(Advance Renamer)

  2. 單擊(左上方)添加方法->新名稱

  3. 單擊圖像底部中間的一個,您將看到一個按鈕 ExifTool ,顯示所有元數據,只需單擊一個屬性即可獲得標籤。在這種情況下,它是 <ExifTool:DateTimeOriginal>

  4. 將此內容複製並粘貼到新名稱文本框中,您可以在 IMG_<ExifTool:DateTimeOriginal> DSC_<ExifTool:DateTimeOriginal>等之前或之後添加任何內容。

  5. 點擊開始批處理(右上),這將用日期Eg重命名所有文件。 2017_12_01 19_10_12 最好在文件名中保留原始日期,因為屬性可能會丟失,但文件名不會丟失。

  6. 再次將所有重命名的文件拖到到AR
  7. 單擊新方法->時間戳
  8. 選中所有3個複選框創建,修改,訪問(有時可能無法訪問,只是取消選中該複選框可能不起作用) )
  9. 選擇文件名模式並粘貼 <Year>_<Month>_<Day> <Hour>_<Min>_<Sec> 代碼>
  10. 開始批次。強>
  11. 你很好。任務完成
  12. ol>
janerette
2020-01-18 20:36:55 UTC
view on stackexchange narkive permalink

我只是註冊了StackExchange,所以我要感謝OP發布了此內容,並添加了解決方法bc,這裡的某些命令對我不起作用。抱歉,我要說說我的過程。

我正處於“讓我們最終清理我的照片檔案”的努力之中,因為這場鬥爭是真實的,尤其是因為iCloud和Google相冊從您的設備中將它們帶走並且文件管理與之無關如今(在更早的時期,良好的服務和產品有點任性,並強制執行了怪異的隨機性和重複操作,這需要真正的努力來克服。)

我使用Flickr將照片從我的機器上取下來當我的驅動器太小而無法容納所有人時。自2006年以來,我一直在一個帳戶上使用Google相冊,因此我通過不同的上傳方式在其中擁有一組隨機副本和獨特的圖片。

當iPhone攝影真正開始時,我將通過USB連接,將它們導入到我的Dropbox中,Dropbox會使用日期時間戳將其重命名,然後將其放置在一個年/月文件夾中,並進行一些整理整理屏幕截圖和購物照片,然後Google相冊觀看了該存檔文件夾以上傳照片。在iCloud從我的iPhone抓住照片並證明需要其自己的工作流程之前,這種方法一直奏效。

由於復制一直都是BIG的問題,因此稱為Gemini II的工具 finally 使得此清理和存檔項目成為可能。

為了將存檔整合到外部驅動器上,我決定下載所有圖片,但下載最新的iCloud(使用Image Capture和USB連接到手機:並非100%可靠),Flickr和Google,並清理乾淨。

這就是我發現Exif數據的方式:一些照片(只有一些)不是平面文件(請參見下圖),並在Finder中顯示了它們的元數據。大多數只具有可見的創建-修改日期。我從Flickr(和Google的一些文件)下載的內容被保存下來,就好像它們是在下載當天創建和修改的一樣。不好。一些具有可見的EXIF數據,但許多/大多數看上去平坦。我一直在刪除重複的副本,因為它們的時間戳錯誤(就是說,它們的大小相同或更小)。

Dropbox步驟對我來說一直很重要,因為IMG _ ####或DSC ####一直沒有用。有人問我為什麼不跳過Dropbox步驟並使用Automater重命名它們。 Automater沒有我能看到的功能,但是由於有了Jhead,這終於可以工作了。

我想出瞭如何首先安裝jhead,然後遞歸地通過目錄運行jhead的方法,並且通常,照片文件中仍然存在EXIF數據。結果:jhead更改了文件的日期與EXIF數據中的日期相同。沒有失望。

首先,對於Mac用戶:按照命令行(終端)中的untar安裝說明進行操作。如果找不到用於jhead的文件,請在jhead tarball的位置找到一般的untar指令和sub。這行得通,因為從命令行下載並嘗試安裝肯定沒有。下一步:確保在App Store上安裝Xcode。所有Apple開發人員都需要該程序,並且它可以使命令正常運行。 “ make”和“ install make”需要它。

使用jhead工具:我不熟悉閱讀Unix指令和手冊(man jhead),但是對CLI足夠熟悉,如果有人在某個地方記錄了某些東西,我會嘗試他們的選擇,直到能起作用。

這對我不起作用:

[我想要的目錄]>查找-name'* .jpg'-exec jhead -ft {} +

在StackExchange的其他地方,我找到了另一個我需要工作的遞歸搜索字符串(它具有似乎不需要的-print選項):

  find。 | grep'。* [。] jpg' 

,但是如果我添加了jhead命令,我會收到一條錯誤消息,說它不理解'grep'

通過添加和刪除搜索選項/變量並試圖使jhead成為該命令的一部分來解構搜索項,直到我嘗試了一個舊的約定後才起作用:

  jhead -ft ./ * / *。jpg  

這遍歷了整個很長的目錄,並且沒有吐出很多錯誤,例如“不包含EXIF時間戳”或“錯誤:時間'0000: 00:00 00:00:00':無法轉換為Unix時間”

當我查看時,僅保留了少數下載的昨天時間戳記。因此,我在“重複”文件夾中的其他10個文件文件夾中對此進行了測試。 2020年的情況恢復為2004年,2013年,2012年。我了解到,如果您兩次在同一目錄中運行兩次,則不會再獲得輸出。

然後,我根據時間戳約定使用jhead重命名了文件。它像魅力一樣運作;如果原始文件名包含對您有意義的文件,並且您想保留該文件名,請確保將其包含在所選的日期戳字符串中:

 ''%f…* .jpg  

我現在感到沮喪的是,Finder在可能的情況下不一致顯示此信息。以下是Finder顯示完整信息(不常見)的文件示例。 Image of Mac OS Finder information of photo EXIF data, complete

嗨,歡迎來到Photo-SE。該Stack Exchange是問答站點,每個答案都試圖直接回答該問題。它們與更典型的討論論壇不同,後者通常是線程化的,並且帖子之間的回復與原始帖子的回復一樣多(通常是更多)。如所寫,您的答案是關於重命名工具的需求和過程的非常注重討論和敘述的方式,而不是專注於按要求回答問題。
從技術上講,`find -name'* .jpg'-exec jhead -ft {} +`不起作用的原因是因為`find`需要在`-name <...>`給出。我已經更新了接受/投票最高的答案,以糾正錯誤。嘗試以下方法:`find。-name'* .jpg'-exec jhead -ft {} +`
這不能為問題提供答案。獲得足夠的[信譽](https://photo.stackexchange.com/help/whats-reputation)後,您就可以[評論任何帖子](https://photo.stackexchange.com/help/privileges/評論);相反,[提供不需要問詢者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-我來代替)。-[評論](/ review / low-quality-posts / 64911)
是什麼讓您認為我沒有從所需目錄的路徑內啟動命令?如果沒有用,那就沒有用。我找到了解決方法。它使我的生活更加輕鬆。因此,我將其發布並繼續傳遞。如果不歡迎在現實世界中向非程序員解釋問題的示例,並且由於不足夠的技術而被責罵,我將不再評論。太棒了
如果您按照編寫的方式鍵入它,那麼_根本無法使用該命令。即輸入錯誤。我建議(`find。-name'* .jpg'-exec jhead -ft {} +`)是要從所需目錄路徑中運行它時需要使用的內容。點作為路徑表示“本地目錄”。find _requires_開始的搜索路徑。可從`find`的手冊頁中獲得。
關於向非程序員解釋事情:在Stack Exchange網站上絕對需要好的答案。**提供**,但是,它們是問題的_answers_。請花一點時間查看簡短的[Site Tour](https://photo.stackexchange.com/tour),以了解Stack Exchange網站與面向討論的Internet論壇有何不同。
Mawg says reinstate Monica
2012-09-19 09:39:01 UTC
view on stackexchange narkive permalink

我建議給PhotoRenamer的作者,他回答...

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

我在功能區的“選項”選項卡中添加了一個按鈕。從那裡,您可以選擇用於更新文件的文件時間狀態的選項。.

為避免使用遮罩,我還添加了一個新的遮罩屬性:%F。如果使用此簡單掩碼,則文件將被重命名為...具有其自己的名稱...因此,您不必重命名要為其更新文件時間屬性的文件...

triff
2016-09-20 06:02:51 UTC
view on stackexchange narkive permalink

這是一個古老的問題,似乎有一些建議應該行之有效,但是我在Android手機升級後找到的解決文件訂購問題的建議就是這個。

  • 啟動Windows(這是有史以​​來第一次)
  • 安裝ExtFS或可以讀取ext4分區的東西
  • 將照片從Micro SD複製到硬盤上
  • 使用屬性更改器( https://www.petges.lu/home/)將創建/修改的日期設置為EXIF日期
  • 在手機中重新插入黑客卡
  • >
  • 通過MTP將照片複製回手機

也許這對某人有用。

Vladislav
2016-06-07 15:01:39 UTC
view on stackexchange narkive permalink

另一個免費程序是Google Picasa-您可以輕鬆批量更改所有照片的日期和時間:

enter image description here

enter image description here

關於它的精美文章:如何在Picasa中將照片的日期更改為拍攝照片的時間

這個解決方案如何運作? OP希望將** file **日期更改為與** EXIF **日期相對應。這可能不是Picasa在做什麼。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...