Linux

Fotoğraf Karmaşasına Son! Tarihe Göre Otomatik Düzenleme Script’i

maa
14.10.2025

Merhaba arkadaşlar!

Bilgisayarınızda karma karışık duran resim dosyalarınızı düzenlemek ister misiniz? Özellikle yıllardır biriken fotoğrafların çekim tarihlerine göre klasörlere ayrılmasını hayal edin. İşte tam da bu iş için hazırladığım basit bir araç var: bir Bash script! Merak etmeyin, birazdan bunu nasıl kullanacağınızı adım adım anlatacağım.

Bu Script Ne İşe Yarıyor?

Bu araç, bilgisayarınızdaki resimleri şu şekilde düzenliyor:

  1. Tarihe Göre Ayırma: Resimlerin çekim tarihini okuyor ve her tarih için ayrı bir klasör oluşturuyor.
  2. Bilinmeyen Tarihler: Tarih bilgisi olmayan resimleri “Bilinmeyen Tarih” adlı bir klasöre koyuyor.
  3. Otomatik Kopyalama: Tüm resimleri ilgili klasörlere kopyalıyor. Orijinalleriniz zarar görmüyor.

Kimler Kullanabilir?

  • Bilgisayarında düzeni seven herkes!
  • Özellikle fotoğraflarını organize etmek isteyenler.
  • Teknik bilgi gerektirmez; adımları takip etmeniz yeterli.

Başlamadan Önce İhtiyacınız Olanlar

  1. Bir Linux veya Ubuntu İşletim Sistemi:
  2. exiftool Aracı: Bu, resimlerin çekim tarihini okumamızı sağlayan bir araç. Kurmak için şunu yapabilirsiniz: sudo apt install libimage-exiftool-perl
  3. Biraz sabır ve heyecan!

Adım Adım Kullanım

1. Script’i Oluşturun

  • İlk olarak, bilgisayarınızda bir metin düzenleyici açın (örneğin, nano veya gedit kullanabilirsiniz).
  • Aşağıdaki kodu kopyalayıp yapıştırın ve dosyayı organize_photos.sh olarak kaydedin:
#!/bin/bash

# Hedef dizin (resimlerin organize edileceği yer Target_dır "" arasını değitirin)
TARGET_DIR="/media/disk/tarih_sirali"
UNKNOWN_DIR="$TARGET_DIR/Bilinmeyen_Tarih"

# Dizin kontrolü, eğer yoksa oluştur
mkdir -p "$TARGET_DIR"
mkdir -p "$UNKNOWN_DIR"

# Tüm .jpg, .jpeg ve .png dosyalarını bulma ve sayma
photo_count=$(find /media/muhammet/maa -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) 2>/dev/null | wc -l)

# İşlemleri başlat
if [ "$photo_count" -eq 0 ]; then
    echo "Hiç fotoğraf bulunamadı. Lütfen dizini kontrol edin."
    exit 1
fi

echo "Toplam $photo_count fotoğraf bulundu. İşlem başlıyor..."

# İşlem sayacı
i=0
copied_photos=0

# Her fotoğraf için döngü
find /media/muhammet/maa -type f \( -iname "*.jpg" -o -iname "*.jpeg" -o -iname "*.png" \) 2>/dev/null | while read -r photo; do
    # Çekim tarihini al
    date_taken=$(exiftool -d "%Y-%m-%d" -DateTimeOriginal -s -s -s "$photo" 2>/dev/null)

    if [ -n "$date_taken" ]; then
        # Tarihe göre klasör oluştur
        folder_name="$TARGET_DIR/$date_taken"
        mkdir -p "$folder_name"
        
        # Fotoğrafın bir kopyasını ilgili klasöre taşı
        cp "$photo" "$folder_name/"
        echo "Kopyalandı: $photo -> $folder_name/"
        copied_photos=$((copied_photos + 1))
    else
        echo "Tarih alınamadı, bilinmeyen tarihe kopyalanıyor: $photo"
        cp "$photo" "$UNKNOWN_DIR/"
        copied_photos=$((copied_photos + 1))
    fi

    # İlerleme çubuğu
    i=$((i + 1))
    progress=$(( (i * 100) / photo_count ))
    echo -ne "İlerleme: $progress%\r"
done

echo -e "\nKopyalanan toplam fotoğraf sayısı: $copied_photos"
echo "Tüm işlemler başarıyla tamamlandı."
echo "Bitti."

2. Script’i Çalıştırmaya Hazırlayın

Kaydettiğiniz dosyayı çalıştırılabilir hale getirmek için şu komutu yazın:

chmod +x organize_photos.sh

3. Script’i Çalıştırın

Artık script’i çalıştırabilirsiniz! Sadece şu komutu yazın:

./organize_photos.sh

4. Sonuçlara Göz Atın

  • İşlem tamamlandığında, tüm resimleriniz tarih sırasına göre klasörlere ayrılmış olacak.
  • Tarih bilgisi olmayan dosyalar “Bilinmeyen Tarih” klasöründe toplanacak.

Bu Script Neden Faydalı?

  • Zamandan Tasarruf: Tek tek resimlerinizi tarih bazında ayırmak yerine her şeyi otomatik yapıyor.
  • Düzenli Arşiv: Yıllardır biriken fotoğraflarınız artık daha düzenli olacak.
  • Hızlı Kullanım: Kullanması oldukça kolay. Birkaç komutla işinizi hallediyorsunuz.

Sıkça Sorulan Sorular

1. Script hangi tür dosyaları düzenliyor?
JPEG (.jpg, .jpeg) ve PNG (.png) dosyalarını düzenler. Diğer formatları da eklemek isterseniz, find komutuna bu uzantıları ekleyebilirsiniz.

2. Orijinal dosyalarıma bir şey olur mu?
Hayır, script yalnızca dosyalarınızın bir kopyasını oluşturur. Orijinallere hiçbir şey olmaz.

3. Hedef dizini değiştirebilir miyim?
Tabii ki! Yukarıdaki kodda TARGET_DIR kısmını istediğiniz bir klasöre göre düzenleyebilirsiniz.


Hepsi bu kadar! Umarım bu araç size yardımcı olur. Eğer takıldığınız bir yer olursa, yorumlarda bana ulaşabilirsiniz.


Not: Bu script, doğru bir şekilde kullanıldığında sorunsuz çalışacaktır. Ancak, düzenleme veya kullanım hatalarından kaynaklanabilecek veri kaybı ya da diğer sorunlar tamamen kullanıcının sorumluluğundadır. Bu yüzden, işlemlere başlamadan önce önemli verilerinizin yedeğini almayı unutmayın. Scriptin çalışma süresi; fotoğrafların sayısına, dosya boyutlarına ve bilgisayarınızın işlem gücüne bağlı olarak değişiklik gösterebilir. Büyük dosyalar ve daha fazla fotoğraf, işlem süresini uzatabilir, bu nedenle sabırlı olmanızı öneririz.

Bu yazıyı paylaş:
Twitter Facebook LinkedIn

Benzer Yazılar