• 23-05-2021, 14:14:04
    #1
    Herkese merhabalar, her gün elle yapmak yerine bat dosyasıyla zamanlayıcı kurarak günlük yapmayı istediğim bir problem var. Problemi detaylı olarak açıklamam gerekirse;
    1.Ekran görüntüsündeki yeşil alandaki iki klasör ve bir dosya haricinde geri kalan klasör ve dokümanların silinmesini istiyorum. Ortak ağda olduğu için benim yeşil alana aldıklarımın haricinde gün içinde bir çok dosya, klasör veya uygulama ekleniyor. Ben sadece benim istediğim dosyaların ve doküman,uygulamaların kalmasını haricindekilerin silinmesini istiyorum. Bunun haricinde 2.ekran görüntüsünde yine belli bir klasörün içindeki istediğim klasörlerin kalmasını haricindeki her şeyin silinmesini istiyorum. Bunu .bat dosyası halinde derleyip, görev zamanlayıcısıyla günlük olarak çalıştırmak istiyorum. Bunun için gerekli kod satırları konusunda yardımcı olabilecek arkadaşım varsa çok memnun olurum.

    1.EKRAN GÖRÜNTÜSÜ



    2.EKRAN GÖRÜNTÜSÜ
  • 23-05-2021, 14:24:37
    #2
    Üyeliği durduruldu
    @ECHO OFF
    SETLOCAL
    SET "kaynakklasor=E:\Ortak"
    SET "dosyatut=dosyaadi.txt"
    SET "klasortut=klasor adi"

    FOR /d %%a IN ("%kaynakklasor%\*") DO IF /i NOT "%%~nxa"=="%klasortut%" RD /S /Q "%%a"
    FOR %%a IN ("%kaynakklasor%\*") DO IF /i NOT "%%~nxa"=="%dosyatut%" DEL "%%a"

    GOTO :EOF
  • 23-05-2021, 14:25:36
    #3
    Üyeliği durduruldu
    Düzenleme ve ekleme yapabilirsin bu bir örnek
  • 23-05-2021, 14:27:58
    #4
    Cevabınız için çok teşekkür ederim. Maalesef bunun hakkında bilgim yok, yani verilen komutların ne işe yaradığını pek anlayamıyorum. Rica etsem biraz daha detaylı anlatma imkanınız olur mu? Yani şu satır silmek için, şu satır istisna eklemek için vb gibi açıklama yapma imkanınız var mıdır?
  • 23-05-2021, 14:54:41
    #5
    Üyeliği durduruldu
    Proctives adlı üyeden alıntı: mesajı görüntüle
    Cevabınız için çok teşekkür ederim. Maalesef bunun hakkında bilgim yok, yani verilen komutların ne işe yaradığını pek anlayamıyorum. Rica etsem biraz daha detaylı anlatma imkanınız olur mu? Yani şu satır silmek için, şu satır istisna eklemek için vb gibi açıklama yapma imkanınız var mıdır?
    @echo off
    set "kaynakklasor=C:Kaynak Klasor" //Buraya işlem yapılacak klasör yolunu gir
    set "tut3=klasor ismi" //Buraya istisna edilecek klasör
    set "tut2=klasor ismi" //Buraya istisna edilecek klasör
    set "tut3=dosya ismi.txt" //Buraya istisna edilecek dosya ismi

    cd /d %kaynakklasor%

    for /F "delims=" %%G in ('dir /b') do
    (
    if /I NOT "%%G"=="%tut1%"
    (
    if /I NOT "%%G"=="%tut2%"
    (
    if /I NOT "%%G"=="%tut3%"
    (
    IF EXIST "%%G"
    (
    rmdir "%%G" /s /q
    )
    else
    (
    del "%%G" /q
    )
    )
    )
    )
    )
    exit
  • 23-05-2021, 15:36:56
    #6
    Selamlar,

    Ufak bir ücret karşılığında birlikte çalışarak ve anlatımını yaparak istediğiniz işlemi yapan powershell scripti yazabilirim.
  • 23-05-2021, 17:24:35
    #7
    c3yhun adlı üyeden alıntı: mesajı görüntüle
    @echo off
    set "kaynakklasor=C:Kaynak Klasor" //Buraya işlem yapılacak klasör yolunu gir
    set "tut3=klasor ismi" //Buraya istisna edilecek klasör
    set "tut2=klasor ismi" //Buraya istisna edilecek klasör
    set "tut3=dosya ismi.txt" //Buraya istisna edilecek dosya ismi

    cd /d %kaynakklasor%

    for /F "delims=" %%G in ('dir /b') do
    (
    if /I NOT "%%G"=="%tut1%"
    (
    if /I NOT "%%G"=="%tut2%"
    (
    if /I NOT "%%G"=="%tut3%"
    (
    IF EXIST "%%G"
    (
    rmdir "%%G" /s /q
    )
    else
    (
    del "%%G" /q
    )
    )
    )
    )
    )
    exit
    Mevcut yolları yazıp text dosyasında .bat olarak kaydedip çalıştırdım, hiç bir eylem olmadı. Uğraştığınız için minnettarım, mantığını anladım. Üzerinde oynamalar yaparak tekrar tekrar deneyeceğim. Sağ olun, var olun.
    CloudHead adlı üyeden alıntı: mesajı görüntüle
    Selamlar,

    Ufak bir ücret karşılığında birlikte çalışarak ve anlatımını yaparak istediğiniz işlemi yapan powershell scripti yazabilirim.
    Merhaba, şimdilik denemek istiyorum. Düşünürsem iletişime geçerim, teşekkürler.
  • 23-05-2021, 17:47:05
    #8
    Üyeliği durduruldu
    Proctives adlı üyeden alıntı: mesajı görüntüle
    Mevcut yolları yazıp text dosyasında .bat olarak kaydedip çalıştırdım, hiç bir eylem olmadı. Uğraştığınız için minnettarım, mantığını anladım. Üzerinde oynamalar yaparak tekrar tekrar deneyeceğim. Sağ olun, var olun.

    Merhaba, şimdilik denemek istiyorum. Düşünürsem iletişime geçerim, teşekkürler.
    Kod çalışıyor hata yapıyorsunuz muhtemelen kolay gelsin
  • 23-05-2021, 19:08:49
    #9
    c3yhun adlı üyeden alıntı: mesajı görüntüle
    Kod çalışıyor hata yapıyorsunuz muhtemelen kolay gelsin
    set "tut1=klasor ismi" //Buraya istisna edilecek klasör > Buraya set "tut1=1 - EKMEK YOKLAMASI" mı yazacağım yoksa"tut1="E:/ORTAK/YAZICI/2 - EKMEK VE PERSONEL YOKLAMASI/1 - EKMEK YOKLAMASI" mı? Burada hata yapıyor olabilirim.