批次修改exif裡的標題

假如我有大量jpg檔...
想要把exif裡的標題...
全部改成跟檔名一樣
(例:檔名<啊啊啊.jpg>...標題就<啊啊啊>)
除了一個一個改...
有辦法批次解決嗎?!
2016-02-23 17:27 發佈
文章關鍵字 EXIF 標題

kst7584 wrote:
假如我有大量jpg...(恕刪)

exif裡的標題?

是哪個標籤?
用Photoshop看,是這個嗎?還是一定要「<exif:」命名空間定義的"標題"?



如果是,那就是非常容易的事了。
kst7584大大

kst7584 wrote:
假如我有大量jpg...(恕刪)


1)下載exiftool(解壓縮完畢後記得把程式名稱改成exiftool.exe)
官網
程式下載網址(5MB)

2)建立新的文件xxx.txt(xxx自己隨意取檔名)然後將下面紅字貼入後存檔,並將xxx.txt改成xxx.bat
for /f "tokens=1 delims=." %%g in ('dir /b *.jpg') do exiftool.exe -overwrite_original "-title=%%g" "%%g.jpg"
pause


3)將"xxx.bat"和下載完畢後的"exiftool.exe"放到要修改圖片資料夾

4)滑鼠點擊xxx.bat就會開始把資料夾內所有的jpg檔的標題改成檔案名稱

ps.請先建立一個空白的資料夾,放個兩三張照片(jpg檔)然後把xxx.bat與exiftool.exe放進去做測試!

謝謝大家的回覆!有你們真好...我來去試試
kst7584 wrote:
謝謝大家的回覆!有...(恕刪)

如果有安裝Photoshop,又只要把那個標題改成檔案名稱,是很容易的。
activeDocument.info.title = activeDocument.name;


1.打開「記事本」把上面框內藍字複製貼上,存檔成「改標題.jsx」。(主檔名隨你,副檔名不能改,存在哪裡要記住)

2.在PS裡隨意開啟一張照片,打開[動作]面板,新增一個動作(就命名「改標題」好了),開始錄製。

3.按[檔按/指令碼/瀏覽],然後點選剛才存檔的"改標題.jsx",按[載入]。

4.關閉照片,會問你是否存檔,當然要回[是]。

5.你會發現,甚麼事也沒發生,沒關係。按[停止錄製]按鈕(就只錄製這個執行指令碼與關閉檔案的動作)。

6.用Windows檔按總管看看剛剛那張照片的內容,"標題"是否就是檔名?

啟動Photoshop的批次功能,選用剛才錄製的動作,針對資料夾執行,所有資料夾內的照片就全部"變更標題"了。

以上1-5動作只需一次,以後這[動作]永遠有效,不是每次改標題都得錄製一次。以後每次工作,只需做紅字部分。
感謝shibuy大大提供的方法!!
但如果遇到檔名含有空白就會失敗了

也謝謝widther大大提供的方法...
縱使檔名含有空白也行
可是這方法連副檔名也會寫進去捏...可以不要有附檔名嗎 > <"
kst7584 wrote:
可以不要有附檔名嗎...(恕刪)

簡單,改個程式碼就好。

既然要改了,就稍微完善一點吧...
if(documents.length > 0) {
try{
var s = activeDocument.name;
var i = s.indexOf(".");
if(i > 0) s = s.substr(0 , i );
activeDocument.info.title = s;
}catch(e){ }
}


方法照舊,只是這次複製貼上的文字多些而已...
小心複製,分號、大括弧引號..一個也不能漏掉,不然會..給你吃叉燒包

又,我上po原來那個程式不要了。你可以打開那個舊檔,把這些新程式碼取代覆蓋上去、存檔。這樣你PS裡原先錄製的"動作"根本不用重作、依然可以工作。

注意!要是你的檔名裡有一個以上的小數點(副檔名識別符號"."),這程式會只取左邊數來第一個小數點的左邊字串,其後不管有多少字,都切斷放棄。

還有,只要PS能開啟的檔案,這程式都有效,資料夾裡的檔案類型你要先過濾,不然不只 .jpg 檔案會被改標題而已。

2/27 補記:或者你只要改jpg檔,那就再小修一下,底下這個只對 .jpg 檔有效,其他檔案會避開,你自行選用..
if(documents.length > 0) {
try{
var s = activeDocument.name;
var i = s.indexOf(".jpg");
if(i > 0){
s = s.substr(0 , i );
activeDocument.info.title = s;
}
}catch(e){ }
}
kst7584大大

kst7584 wrote:
但如果遇到檔名含有空白就會失敗了(恕刪)


我知道為什麼空格不能使用了,最後的%%g.jpg前後面都要加上"符號才可以使用空格的檔名!

for /f "tokens=1 delims=." %%g in ('dir /b *.jpg') do exiftool.exe -overwrite_original "-title=%%g" "%%g.jpg"
pause
讚啦!!!再一次感謝shibuy大大 & widther大大!!
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?