merhaba,
ForFiles /p “D:\SQL_Backup\Backup” /s /d -5 /c “cmd /c del /q @file”
bu işlemi komut dosyasında nasıl bat dosyası ile açtırabilirim.
komut dosyası için yardım talebi
Re: komut dosyası için yardım talebi
Yazdığınız komut tam olarak Backup klasöründe ne yapıyor? del haricinde bazı parametreler var gibi, detay verirseniz autoit ile halledebiliriz. 
- TRWE_2012
- Zettabyte1

- Mesajlar: 15149
- Kayıt: 25 Eyl 2013, 13:38
- cinsiyet: Erkek
- Teşekkür etti: 2505 kez
- Teşekkür edildi: 5301 kez
Re: komut dosyası için yardım talebi
D:\SQL_Backup\Backup klasöründe ve tüm alt klasörlerinde, 5 günden daha eski olan her dosyayı sessizce siler.anxious yazdı: 07 Ağu 2023, 21:20 Yazdığınız komut tam olarak Backup klasöründe ne yapıyor? del haricinde bazı parametreler var gibi, detay verirseniz autoit ile halledebiliriz.![]()
- TRWE_2012
- Zettabyte1

- Mesajlar: 15149
- Kayıt: 25 Eyl 2013, 13:38
- cinsiyet: Erkek
- Teşekkür etti: 2505 kez
- Teşekkür edildi: 5301 kez
Re: komut dosyası için yardım talebi
Email Bot yazdı: 21 Tem 2023, 11:02 merhaba,
ForFiles /p “D:\SQL_Backup\Backup” /s /d -5 /c “cmd /c del /q @file”
bu işlemi komut dosyasında nasıl bat dosyası ile açtırabilirim.
Kod: Tümünü seç
@echo off
setlocal
:: ============================================================
:: SQL Backup Cleaner - Deletes backups older than N days
:: Target : D:\SQL_Backup\Backup
:: Author : commandwarrior
:: ============================================================
set BACKUP_DIR=D:\SQL_Backup\Backup
set DAYS_OLD=5
set LOG_FILE=D:\SQL_Backup\cleanup_log.txt
echo [%DATE% %TIME%] Cleanup started. >> "%LOG_FILE%"
echo Target : %BACKUP_DIR% >> "%LOG_FILE%"
echo Deleting files older than %DAYS_OLD% days... >> "%LOG_FILE%"
:: --- Dry Run: List files that WILL be deleted (comment out when ready) ---
:: ForFiles /p "%BACKUP_DIR%" /s /d -%DAYS_OLD% /c "cmd /c echo [DRY-RUN] @path\@file" >> "%LOG_FILE%"
:: --- Actual Delete ---
ForFiles /p "%BACKUP_DIR%" /s /d -%DAYS_OLD% /c "cmd /c del /q @path\@file >> \"%LOG_FILE%\" 2>&1"
if %ERRORLEVEL% EQU 0 (
echo [%DATE% %TIME%] Cleanup completed successfully. >> "%LOG_FILE%"
) else (
echo [%DATE% %TIME%] WARNING: ForFiles returned error code %ERRORLEVEL%. >> "%LOG_FILE%"
)
echo.
echo Done. Check log: %LOG_FILE%
echo Press ENTER to exit.
pause >nul1. Kaydetme:
Notepad'i açın , kodu yapıştırın , Dosya > Farklı Kaydet , dosya adı sql_cleanup.bat, kodlama ANSI veya UTF-8 , Kaydet.
2. İlk çalıştırmadan önce Dry Run:
Betikteki :: --- Dry Run satırının başındaki :: yi kaldırın, gerçek silme satırını :: ile yoruma alın. Böylece neyin silineceğini önce log'dan kontrol edersiniz.
3. Gerçek çalıştırma:
Dry Run satırını tekrar :: ile kapatın, gerçek silme satırını aktif bırakın. sql_cleanup.bat dosyasına sağ tık → Yönetici olarak çalıştırın.
4. Otomatikleştirme (isteğe bağlı):
Windows Görev Zamanlayıcı'ya ekleyerek her gece belirli saatte çalışması sağlanabilir.
Örnek Log Çıktısı
Kod: Tümünü seç
[18.05.2026 03:00:01,23] Cleanup started.
Target : D:\SQL_Backup\Backup
Deleting files older than 5 days...
[18.05.2026 03:00:02,11] Cleanup completed successfully.

