Batch Dosyası ile Dosya Sıkıştırma ve Silme İşlemleri

By | Temmuz 22, 2020

Merhaba, son makalelerimde biraz son kullanıcı işletim sistemlerinde kullanılan işlevlere yöneldim. Bunun temel nedeni geniş kitleler tarafından sorgulanan konular olması. Bu makalemizde ise script ile dosya sıkıştırma ve silme işlemleri yapacağız. Sonrasında bu işlemleri zamanlanmış bir göreve bağlayarak otomatize edeceğiz.

Biz senaryomuzda bir klasörümüzdeki dosyaları, farklı bir sürücü içinde bulunan klasör içene sıkıştırma işlemi yapacağız. Sonrasında sıkıştırılan klasör ve dosyaları siliyor olacağız. Adımlarımıza geçelim.

D: sürücümüz içerisinde Test isimli bir klasörümüz var.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Klasör içerisinde klasör ve dosyalar mevcut.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

E:\ sürücümüz üzerinde yine Test_Backup isimli boş bir klasörümüz var.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Sıkıştırma işlemlerini Winrar scripti kullanarak yapacağız. Programımız aşağıda görüldüğü gibi kurulu durumda.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Öncelikle işlemlerimizi komut satırı üzerinden test ederek çalıştıralım ve sonrasında bunu script haline getireceğiz.

CMD üzerinden Winrar programımızın kurulu olduğu dizine girelim.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Sıkıştırma için aşağıdaki komut setini kullanmamız gerekmekte.

rar a  -r “E:\SIKIŞTIRMA HEDEFİ\DOSYA İSMİ%DATE:~7,2%-%DATE:~4,2%-%DATE:~-4%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~-5,2% .rar”  “D:\SIKIŞTIRILACAK KAYNAK”

Bizim klasörlerimize göre yorumlayarak olursak komut aşağıdaki gibi oluyor.

rar a  -r “E:\Test_Backup\Yedek_Log_%DATE:~7,2%-%DATE:~4,2%-%DATE:~-4%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~-5,2% .rar”  “D:\Test”

yiyecek, çizim içeren bir resim

Açıklama otomatik olarak oluşturuldu

Burada birçok parametremiz var. Bunlar Winrar programının kullandığı parametreler. Bu nedenle Winrar parametrelerinin tamamını aşağıda paylaşıyorum. Command promt üzerinde winrar dizininde C:\Program Files\Winrar\rar ? komutu ile zaten tüm parametreleri görmeniz mümkün. Ben temel kullanılan parametreleri paylaşıyor olacağım.

ParametreAçıklama
aDosyaları arşive ekle
cArşive açıklama ekle
chArşiv parametrelerini değiştir
cwArşiv açıklamasını dosyaya yaz
dDosyaları arşivden sil
eDosyaları arşiv yolları olmaksızın çıkart
fArşivdeki dosyaları tazele
i[par]=<diz> Arşivlerde dizi bul
kArşivi kilitle
l[t[a]b]Arşiv içeriğini listele [teknik[tümü]
m[f]         Arşive taşı [sadece dosyalar]
pDosyayı standart çıkış (stdç)’a yaz
rArşivi onar
rcEksik ciltleri tekrar yapılandır
rnArşivlenmiş dosyaları yeniden adlandır
rr[N]        Veri kurtarma kaydı ekle
rv[N]        Kurtarma ciltleri oluştur
s[ad|-]      Arşivi SFX’e veya SFX’den dönüştür
tArşivlenmiş dosyaları test et
uArşivdeki dosyaları güncelle
v[t[a]b]Arşivi ayrıntılı olarak listele [teknik[tümü]
xDosyaları tam yol adıyla çıkart

Yukarıdaki komuttan setinden sonra belirlediğimiz klasör içerisinde yer alan klasör ve dosyalarımız hedef dizine arşivlendi. İşlemlerin sorunsuz olarak yapıldığını dosyaların sonunda yer alan Tamam ibaresinden görebiliyoruz.

metin içeren bir resim

Açıklama otomatik olarak oluşturuldu

Winrar ile belirlediğimiz dizindeki dosyaların hedef dizin üzerine arşivlendiğini aşağıda görebiliyoruz.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Arşiv dosyamızı çift tıkladığımızda içeriğinin sorunsuz olduğunu görebiliyoruz.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Şimdi Arşivlenen Klasör içerisindeki dosyalarımızı silelim. Ben bilerek işlemleri farklı komut setleri kullanarak uzatıyorum. Bunun nedeni farklı komutları görerek örnekleri çoğaltmak. Scrit yazma konusunda herkesin yoğurt yeme yöntemi farklı olabilir. Scriptler basma kalıp tek düze değildir. Kodu yazan dileği şekilde esnetip bükebilir. Ben aşağıdaki komutlarla dilinecek klasörü bir değişkene atayıp, değişken içerisine girdikten sonra silme işlemini yapıyorum.

set folder=”D:\Test”

cd /d %folder%

del /S /Q *.*

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Silme işlemi tamamlandı fakat dosyalar silinmiş ama klasörler kalmış. Örneği farklılaştırmak adına değişik komutlar kullanıyoruz. Del komutu dosyaları siler biz klasörleri kullanmak için farklı komut kullanacağız. Komuttan sonda durum aşağıdaki gibi.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Aşağıdaki komut setimiz ile klasörleri silelim. RD komutu klasör silmekte kullanılır.

rd /S /Q “C:\Test\Tools”

rd /S /Q “C:\Test\Winscp”

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Komutumuzun çıktısı aşağıdaki gibidir. Bu işlemden sonra klasörlerde silinmiş oldu.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Şimdi bu komutların hepsini bir bat dosyası içerisinde toplayarak tüm işlemleri tek seferde yapalım. Ben silmiş olduğum dosyaları tekrardan testlerimizi yapabilmek için aynı klasöre kopyalıyorum.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Aşağıda olduğu gibi komutlarımızı tek bir notepad içerisine yazıyorum.

C:

cd\

cd C:\Program Files\WinRAR

rar a  -r “E:\Test_Backup\Yedek_Log_%DATE:~7,2%-%DATE:~4,2%-%DATE:~-4%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~-5,2% .rar”  “D:\Test”

set folder=”D:\Test”

cd /d %folder%

del /S /Q *.*

rd /S /Q “C:\Test\Tools”

rd /S /Q “C:\Test\Winscp”

exit

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Dosyamızın uzantısını bat olarak değiştirelim gelen uyarıyı Evet ile geçelim.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Batch dosyamızı hazırladık. Şimdi sıra bunu zamanlanmış bir göreve bağlayarak belirlenen zamanda otomatik olarak işlem yaptıracağız. Bu işlem benim aşırı log üreten bir sistemim için gerekli oldu. Şimdi bu yöntemle günü geçen önemsiz loğları sıkıştırıp farklı bir dizin üzerine alıyorum. Yeni loğların yazılması için eski loğları siliyorum. Bu tarz komutlar hayatımızı kolaylaştırabiliyor. Bunu zamanlanan göreve bağlamak ise iş yükümüzü alıp sadece kontrol ederek işimizi görmemize yarıyor. Görev Zamanlayıcı’yı açalım.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Açılan ekranımızda Görev Zamanlayıcı’ya sağ tıklayarak açılan menüden Temel Görev Oluştur… kısmını tıklayalım.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Görevimize biri isim ve açıklama yazıp İleri butonu ile sonraki adıma geçelim.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Görev zaman periyodunu seçelim ben bu işlemi günlük olarak yapacağım için Günlük seçimini yaparak İleri butonuna tıklayıp sonraki adıma geçiyorum.

İşlemin zamanını seçip günde kaç kez çalışacağına dair periyodu bu ekrandan belirleyebiliriz. Biz gece yarısı sadece bir kez çalışacak bir görev olduğu için aşağıdaki gibi ayarları yapıp İleri butonu ile sonraki adıma ilerliyoruz.

Bir bu görevde bir eylem türü olarak Program başlat seçimini yaparak İleri butonu ile sonraki adıma geçelim.

Gözat… butonuna tıklayarak çalıştırılacak olan Batch dosyamızı gösterelim.

Dosyamızı seçerek butonuna tıklayalım.

Dosyamız seçildi. Bu ekranda çalışacak olan program veya dosyaya desteklemesi durumunda özel bir parametre tanımı yapabiliriz. Biz parametre kullanmayacağız İleri butonuna tıklayarak sonraki adıma geçebiliriz.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Oluşturulacak olan Görevin bir özeti karşımıza geldi. Son butonuna tıklayarak görevimizi oluşturalım.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Görevimiz konsolda diğer görevlerin arasına  eklendi.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Görevin çalışıp çalışmadığından emin olmak için görevimiz seçili durumdayken Çalıştır butonuna tıklayalım.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Görevimiz çalıştı mevcut olan dosyalar sıkıştırılarak belirlediğimiz dizine taşındı ve sonrasında silindi.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Belirlediğimiz dizine arşivlenmiş olan dosyayı görebiliyoruz.

ekran görüntüsü içeren bir resim

Açıklama otomatik olarak oluşturuldu

Umarım yararlı olur. Bir başka makalede görüşmek dileğiyle.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir