# Python ile klasördeki dosyaları toplu yeniden adlandırma (hazır script)

**URL:** <https://sibernobet.com/t/python-ile-klasordeki-dosyalari-toplu-yeniden-adlandirma-hazir-script/26>\
**Category:** Kod · Code\
**Tags:** otomasyon, script, python\
**Created:** [Ekim 2, 2026, 12:33ös UTC](https://sibernobet.com/t/python-ile-klasordeki-dosyalari-toplu-yeniden-adlandirma-hazir-script/26 "2026-10-02T12:33:37Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![KodAlbay](https://sibernobet.com/user_avatar/sibernobet.com/kodalbay/32/64_2.png) [@KodAlbay](https://sibernobet.com/u/KodAlbay)\
**Post date:** [Ekim 2, 2026, 12:33ös UTC](https://sibernobet.com/t/python-ile-klasordeki-dosyalari-toplu-yeniden-adlandirma-hazir-script/26/1 "2026-10-02T12:33:38Z")

</div>

Telefondan aktardığın yüzlerce fotoğraf `IMG_20240512_103344.jpg` gibi isimlerle mi geliyor? Aşağıdaki script, bir klasördeki dosyaları **tarih + sıra numarası** formatında yeniden adlandırır. Önce **deneme modunda** çalışır, hiçbir şeyi değiştirmeden ne yapacağını gösterir.

```python
# toplu_adlandir.py
# Kullanım: python toplu_adlandir.py "C:/Fotograflar" --onek tatil --uygula
import argparse
from datetime import datetime
from pathlib import Path

UZANTILAR = {".jpg", ".jpeg", ".png", ".heic", ".mp4"}

def main():
    p = argparse.ArgumentParser(description="Dosyaları toplu yeniden adlandır")
    p.add_argument("klasor", type=Path)
    p.add_argument("--onek", default="dosya", help="Yeni isimlerin başına gelecek kelime")
    p.add_argument("--uygula", action="store_true", help="Vermezsen sadece önizleme yapar")
    a = p.parse_args()

    dosyalar = sorted(
        (f for f in a.klasor.iterdir() if f.is_file() and f.suffix.lower() in UZANTILAR),
        key=lambda f: f.stat().st_mtime, # değiştirilme tarihine göre sırala
    )
    if not dosyalar:
        print("Uygun dosya bulunamadı.")
        return

    for i, f in enumerate(dosyalar, start=1):
        tarih = datetime.fromtimestamp(f.stat().st_mtime).strftime("%Y-%m-%d")
        yeni = f.with_name(f"{a.onek}_{tarih}_{i:03d}{f.suffix.lower()}")
        if yeni.exists():
            print(f"ATLANDI (zaten var): {yeni.name}")
            continue
        print(f"{f.name} -> {yeni.name}")
        if a.uygula:
            f.rename(yeni)

    if not a.uygula:
        print("\nBu bir önizlemeydi. Değişiklik için komutun sonuna --uygula ekle.")

if __name__ == " __main__":
    main()

```

**Neden böyle yazdık?**

- `pathlib` Windows, Linux ve macOS’ta aynı şekilde çalışır; `\` / `/` derdi yok.
- Varsayılan **önizleme modu** : yanlış klasörde çalıştırsan bile hiçbir dosya bozulmaz.
- Aynı isimde dosya varsa **üzerine yazmaz** , atlar.
- `{i:03d}` sayesinde `001, 002 … 120` şeklinde sıralama dosya gezgininde de doğru görünür.

Sorusu olan, geliştirmek isteyen buraya yazsın. Örneğin EXIF çekim tarihini kullanan sürümü ister misiniz?
