Skip to content

Bu depo, Windows PowerShell kullanarak bir klasörün ve içerisindeki tüm alt klasör ve dosyaların “oluşturma” ve “değiştirilme” tarihlerini güncellemek için iki farklı script içerir

License

Notifications You must be signed in to change notification settings

mevlutcelik/windows-timefixer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Windows Timefixer

Bu depo, Windows PowerShell kullanarak bir klasörün ve içerisindeki tüm alt klasör ve dosyaların “oluşturma” ve “değiştirilme” tarihlerini güncellemek için iki farklı script içerir:

  1. random_date.ps1
    Belirlenen tarih aralığında, iş saatleri (09:00–17:59) içinde rastgele tarih atar.
  2. change_date.ps1
    Kullanıcının girdiği tek bir tarihe göre tüm öğelerin oluşturma ve değiştirme tarihlerini ayarlar.

İçindekiler


Önkoşullar

  • Windows 10 veya daha yeni bir işletim sistemi
  • PowerShell (v5 veya üzeri tercih edilir)
  • Yönetici (Administrator) yetkisiyle PowerShell açma izni
  • Depoya erişim (örn. Git ile clonelama yetkisi)

Dosya Açıklamaları

1. random_date.ps1

Bu script, kullanıcıdan bir klasör yolu alır ve:

  • Oluşturma tarihi için:
    • 30 Nisan 2025 00:00:00 – 15 Mayıs 2025 23:59:59 aralığında
    • Saat, iş saati (09:00–17:59) içinde rastgele seçilir
  • Değiştirilme tarihi için:
    • 30 Nisan 2025 00:00:00 – 28 Mayıs 2025 23:59:59 aralığında
    • Saat, iş saati (09:00–17:59) içinde rastgele seçilir

Klasörün kendisi ile içindeki tüm alt klasör ve dosyaların (iç içe tüm yapılar dâhil) hem “CreationTime” hem de “LastWriteTime”/“LastAccessTime” değerleri bu rastgele seçilen tarih ve saatlere göre güncellenir.

Önemli: Tarih aralıkları ve iş saati (09–17) dilimleri, script’in içinde kolayca düzenlenebilir.


2. change_date.ps1

Bu script, kullanıcıdan:

  • Bir klasör yolu
  • Yeni tarih bilgisi (gg.aa.yyyy SS:dd:ss formatında, örn. 01.01.2024 10:00:00)

alır ve:

  • Girilen tarih değerini “CreationTime”, “LastWriteTime” ve “LastAccessTime” olarak
    • Klasörün kendisine
    • Klasör içindeki tüm dosyalara

uygular. Alt klasörler de Get-ChildItem -File ile işleme dâhil edilir (klasörler dışındaki tüm dosyalar).


Kurulum ve Çalıştırma

Aşağıdaki adımları takip ederek script’leri kendi bilgisayarınızda çalıştırabilirsiniz.

1. Depoyu Klonlamak

git clone https://github.com/mevlutcelik/windows-timefixer.git
cd windows-timefixer

2. PowerShell Ayarları

Windows PowerShell’i Yönetici (Administrator) olarak açın. Aşağıdaki komutla çalıştırma ilkelerini (execution policy) geçici olarak devre dışı bırakabilirsiniz:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force

Bu ayar yalnızca açık oturum boyunca geçerli olur ve bilgisayarınızın genel güvenlik ayarlarına kalıcı bir değişiklik getirmenize gerek kalmaz.


3. random_date.ps1 Kullanımı

  1. PowerShell penceresinde repo klasörüne gidin:

    cd "C:\Yol\folder-timestamp-changer"
  2. Aşağıdaki komutu çalıştırın:

    .\random_date.ps1
  3. Ekranda görünecek “Enter PATH” satırına, tarihlerini rastgele ayarlamak istediğiniz klasörün tam yolunu yazın. Örneğin:

    Enter PATH: C:\Users\mevlutcelik\Desktop\deneme_klasoru
    
  4. Script, klasör ve içerisindeki her bir alt klasör/dosya için oluşturma ve değiştirme tarihlerini rastgele atayacak ve başarılı olunca “Tüm klasör ve dosyalar için rastgele tarih atamaları tamamlandı.” mesajını verecektir.


4. change_date.ps1 Kullanımı

  1. PowerShell penceresinde repo klasörüne gidin:

    cd "C:\Yol\folder-timestamp-changer"
  2. Aşağıdaki komutu çalıştırın:

    .\change_date.ps1
  3. İlk satırda, “Enter PATH” ile klasör yolunu girin:

    Enter PATH: C:\Users\mevlutcelik\Desktop\deneme_klasoru
    
  4. İkinci soruda, yeni tarihi gg.aa.yyyy SS:dd:ss formatında girin. Örneğin:

    Enter the new date (example: 01.01.2024 10:00:00): 05.05.2025 14:30:00
    
  5. Script, klasör ve içindeki tüm dosyalar için belirtilen tarihi hem “CreationTime” hem de “LastWriteTime”/“LastAccessTime” olarak ayarlayacak ve ardından “The folder and all contained files have been successfully updated.” mesajını gösterecektir.


Örnek Kullanım

1. random_date.ps1 Örneği

  • Klasör: C:\Users\mevlutcelik\Desktop\deneme_klasoru
PS C:\Users\mevlutcelik\Desktop\windows-timefixer> .\random_date.ps1
Enter PATH: C:\Users\mevlutcelik\Desktop\deneme_klasoru
Tüm klasör ve dosyalar için rastgele tarih atamaları tamamlandı.

Script, örneğin şu şekilde rastgele değerler atayabilir:

  • deneme_klasoru klasörünün CreationTime: 03.05.2025 11:17:42
  • deneme_klasoru\alt_klasor\file.txt dosyasının CreationTime: 08.05.2025 09:03:58, LastWriteTime: 27.05.2025 15:45:22
    vb.

2. change_date.ps1 Örneği

  • Klasör: C:\Users\mevlutcelik\Desktop\deneme_klasoru
  • Yeni Tarih: 05.05.2025 14:30:00
PS C:\Users\mevlutcelik\Desktop\windows-timefixer> .\change_date.ps1
Enter PATH: C:\Users\mevlutcelik\Desktop\deneme_klasoru
Enter the new date (example: 01.01.2024 10:00:00): 05.05.2025 14:30:00
The folder and all contained files have been successfully updated.

Bu çalıştırma sonunda:

  • deneme_klasoru klasörünün hem CreationTime hem de LastWriteTime = 05.05.2025 14:30:00
  • İçerisindeki tüm dosyaların CreationTime/LastWriteTime/LastAccessTime = 05.05.2025 14:30:00

şeklinde güncellenir.


Tek Satırda Kullanım Örneği

cd "C:\Users\mevlutcelik\Desktop\windows-timefixer"; Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force; .\random_date.ps1

Dikkat Edilmesi Gerekenler

  • Yönetici İzni: Bu script’ler klasör ve dosya zaman bilgilerini değiştirdiğinden, PowerShell’in yönetici (Administrator) olarak çalıştırılması gerekebilir.
  • Tarihler: Tarih formatlarının doğru girilmesi önemlidir. Yanlış format girildiğinde hata mesajı alırsınız.
  • Performans: Çok büyük klasör yapılarında (-Recurse) çalıştırmak bir süre alabilir. O esnada PowerShell penceresini kapatmayın.
  • Tarih Aralıkları: random_date.ps1 içindeki tarih aralıklarını ve iş saati dilimlerini (09–17) dilediğiniz gibi ayarlayabilirsiniz.
  • Execution Policy: Her PowerShell oturumunda Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force komutunu unutmamanız gerekir; aksi takdirde script çalışmayabilir.

Lisans

Bu projedeki kodlar MIT Lisansı ile lisanslanmıştır. Dilediğiniz gibi kullanabilir, değiştirebilir ve dağıtabilirsiniz.

About

Bu depo, Windows PowerShell kullanarak bir klasörün ve içerisindeki tüm alt klasör ve dosyaların “oluşturma” ve “değiştirilme” tarihlerini güncellemek için iki farklı script içerir

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published