Bu toplu komut dosyası (.bat
dosyası), Windows işletim sistemi üzerinde bağlı olan tüm sürücülerde (sabit disk, SSD, USB bellek vb.) dosya sistemi hatalarını otomatik olarak tespit edip düzeltmek amacıyla yazılmıştır. Özellikle sistem kararlılığı, veri bütünlüğü ve disk performansı açısından bu tür bir bakım işlemi zaman zaman önerilir.
🔍 Satır Satır Açıklama:
@echo off
- Komut dosyasının çalışması sırasında komutların ekranda görüntülenmesini engeller. Bu, ekran çıktısını sadeleştirir.
chcp 65001 >nul
- Komut satırının karakter kodlamasını UTF-8 olarak ayarlar. Bu sayede Türkçe karakterler doğru şekilde görüntülenir.
>nul
kısmı ise çıktı vermemesini sağlar.
- Komut satırının karakter kodlamasını UTF-8 olarak ayarlar. Bu sayede Türkçe karakterler doğru şekilde görüntülenir.
echo Tum diskler PowerShell ile tespit ediliyor...
- Kullanıcıyı bilgilendiren basit bir mesajdır.
powershell -Command "..."
- Bu satır, PowerShell komutlarını çalıştırmak için kullanılır. Asıl işlem burada gerçekleşir. İçeriği detaylandıralım:
Get-Volume
: Sistemdeki tüm disk bölümlerini (birimleri) listeler.Where-Object { $_.DriveLetter -ne $null }
: Harf atanmış diskleri süzer (örneğin C:, D:, E: gibi).ForEach-Object { ... }
: Her disk için aşağıdaki işlemleri yapar:$d = $_.DriveLetter + ':'
: Disk harfiniC:
gibi tam sürücü adı haline getirir.Write-Host ('Disk ' + $d + ' onariliyor...')
: Kullanıcıya hangi diskin onarılmakta olduğunu gösterir.Start-Process -Wait -Verb RunAs -FilePath 'chkdsk.exe' -ArgumentList $d, '/f'
:chkdsk
komutu çalıştırılır./f
parametresi, tespit edilen hataların düzeltilmesini sağlar.-Verb RunAs
: Yönetici (admin) olarak çalıştırılmasını sağlar.-Wait
: Her bir disk içinchkdsk
işlemi tamamlanana kadar beklenir.
echo.
- Boş satır bırakmak için kullanılır.
echo Tum diskler tarandi. Sistem diski (C:) icin gerekirse yeniden baslatilacaktir.
- Kullanıcıya bilgi verir. Özellikle sistem diski olan
C:
sürücüsü kullanımdaysa, bu diskin tamir işlemi Windows tarafından bir sonraki açılışta yapılabilir.
- Kullanıcıya bilgi verir. Özellikle sistem diski olan
pause
- Komut dosyası çalışmasını tamamladıktan sonra pencereyi kapatmaz. Kullanıcı bir tuşa basana kadar ekranda kalır. Bu, çıktıları görmek için zaman tanır.
📝 diskleri_onar.bat
İçeriği:
@echo off
chcp 65001 >nul
echo Tum diskler PowerShell ile tespit ediliyor...
powershell -Command "Get-Volume | Where-Object { $_.DriveLetter -ne $null } | ForEach-Object { $d = $_.DriveLetter + ':'; Write-Host ('Disk ' + $d + ' onariliyor...'); Start-Process -Wait -Verb RunAs -FilePath 'chkdsk.exe' -ArgumentList $d, '/f' }"
echo.
echo Tum diskler tarandi. Sistem diski (C:) icin gerekirse yeniden baslatilacaktir.
pause
📝 Not:
Bu işlemi sağlıklı ve etkili bir şekilde tamamlamak için lütfen aşağıdaki adımları sadece bir kez uygulayın:
- Bilgisayarınızı kapatıp tekrar açın.
- Açılıştan sonra hiçbir program çalıştırmadan, yalnızca
diskleri_onar.bat
dosyasını yönetici olarak başlatın. - Eğer sistem diski (C:) için bir işlem gerekiyorsa, gelen komut satırındaki onay sorusunda “Y” tuşuna basarak onay verin.
- Tüm diskler için tarama ve onarma işlemi tamamlandıktan sonra bilgisayarınızı yeniden başlatın.
- Bu işlem, özellikle C: sürücüsünde yapılacak düzeltmelerin bir sonraki açılışta otomatik olarak uygulanmasını sağlar.
🔄 Bu adımları sadece bir kez uygulamanız yeterlidir. İşlem tamamlandıktan sonra sisteminiz disk hatalarından arındırılmış şekilde çalışmaya devam edecektir.
✅ Bu Betiğin Faydaları:
- Tüm diskleri tek seferde kontrol eder. Her sürücü için
chkdsk
çalıştırmak zorunda kalmazsınız. - Kullanıcı etkileşimini azaltır, otomatik işlem yapar.
- Yönetici yetkisi ile çalıştığı için hata düzeltme işlemleri başarılı olur.
- Sistem diski için gerekli olan yeniden başlatma bilgisi kullanıcıya verilir.
💡 Geliştirme Önerileri:
- Hatalı disklerde yeniden başlatma isteği için kullanıcıya seçenek sunulabilir.
- Log dosyası oluşturarak her sürücüdeki işlemlerin sonucunu bir yere kaydetmek mümkün.
- Sistemin daha güvenli hale gelmesi için yalnızca sabit diskler taranacak şekilde filtreleme yapılabilir.
Bir yanıt yazın