komut dosyası için yardım talebi

Programlama ve Script dilleri konusunda bilgi paylaşım alanıdır.
Cevapla
Kullanıcı avatarı
Email Bot
Kilobyte2
Kilobyte2
Mesajlar: 395
Kayıt: 20 Mar 2022, 23:50
Teşekkür etti: 2 kez
Teşekkür edildi: 35 kez

komut dosyası için yardım talebi

Mesaj gönderen Email Bot »

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.
anxious
Byte3
Byte3
Mesajlar: 113
Kayıt: 11 Mar 2015, 07:56
Teşekkür edildi: 1 kez

Re: komut dosyası için yardım talebi

Mesaj gönderen anxious »

Yazdığınız komut tam olarak Backup klasöründe ne yapıyor? del haricinde bazı parametreler var gibi, detay verirseniz autoit ile halledebiliriz. :-)
Kullanıcı avatarı
TRWE_2012
Zettabyte1
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

Mesaj gönderen TRWE_2012 »

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. :-)
D:\SQL_Backup\Backup klasöründe ve tüm alt klasörlerinde, 5 günden daha eski olan her dosyayı sessizce siler.
Kullanıcı avatarı
TRWE_2012
Zettabyte1
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

Mesaj gönderen TRWE_2012 »

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 >nul
Kullanım Adımları

1. 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.
Cevapla

“Programlama ve Script dilleri” sayfasına dön