2025 Lightroom Classic 批次改檔名:用 Python 移除「DNG 」檔案

2025 Lightroom Classic  批次改檔名:用 Python 移除「DNG 」檔案

Lightroom Classic (以下簡稱LRC)在進行 AI 雜訊減少後,會自動將「已增強-雜訊減少」加入檔名。同時也會產生DNG檔案,如果想去除已增強-雜訊減少檔名。可以參考2025 Lightroom Classic 批次改檔名:用 Python 移除「已增強-雜訊減少」,如果轉檔完畢,想移除DNG檔案;一樣可以利用 Python 腳本批次移除這些多餘檔案。




閱讀全文: 2025 Lightroom Classic 批次改檔名:用 Python 移除「DNG 」檔案

LRC 為何會產生「DNG」檔案?

自 Lightroom Classic 12.3 起,Adobe 引入 AI 雜訊減少(Denoise with AI) 功能,當使用者針對 RAW 檔案使用此功能後,會生成一個 全新 DNG 檔案
如果轉檔完畢之後不再使用建議可以刪出DNG 檔案,DNG檔案容量不小,數量一多所佔的空間容量也很可觀。

DSC02823.ARW
DSC02824-已增強-雜訊減少.dng
DSC02824.ARW
DSC02825.ARW
DSC02825-已增強-雜訊減少.dng
DSC02826.ARW
DSC02826-已增強-雜訊減少.dng

預期目標就是將已增強-雜訊減少.dng DNG 檔案檔移除

DSC02823.ARW
DSC02824.ARW
DSC02825.ARW
DSC02826.ARW

Python 改檔名範例腳本

  • 使用標準模組 os 遞迴掃描指定資料夾
  • 將符合「-已增強-雜訊減少.dng」的檔案移除
  • 範例程式碼
import os
from datetime import datetime

# 指定當前目錄
directory = os.getcwd()

# 初始化log檔案
log_file_path = os.path.join(directory, 'log.txt')
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")

with open(log_file_path, 'a', encoding='utf-8') as log_file:
    log_file.write(f"執行日期與時間: {current_time}\n")
    log_file.write("已刪除檔案名稱:\n")

# 刪除符合條件的檔案並記錄
deleted_files = []
for filename in os.listdir(directory):
    if filename.endswith("-已增強-雜訊減少.dng"):
        file_path = os.path.join(directory, filename)
        try:
            os.remove(file_path)
            deleted_files.append(filename)
            with open(log_file_path, 'a', encoding='utf-8') as log_file:
                log_file.write(f"{filename}\n")
        except Exception as e:
            print(f"刪除檔案時發生錯誤 {filename}: {e}")

# 記錄刪除檔案統計
with open(log_file_path, 'a', encoding='utf-8') as log_file:
    log_file.write(f"總共刪除檔案數量: {len(deleted_files)}\n\n")


# 顯示已刪除檔案名稱
print("已刪除的檔案:")
for file in deleted_files:
    print(file)

執行操作步驟

方式一:

  1. 安裝 Python(https://python.org)
  2. 將圖片複製至同一資料夾備份
  3. 執行 Python 腳本清理DNG檔案
  4. 檢查結果是否正確,避免名稱衝突

方式二

將寫好的腳本轉成執行檔
將執行檔複製到照片的資料夾中執行,進行清理DNG檔案

透過pip安裝pyinstaller

pip install pyinstaller

dos下執行

pyinstaller -F RemoveDng.py

如果有想加入ico

pyinstaller -F -i m.ico RemoveDng.py

延伸閱讀

5 Views