Günün tarihi klasör ismi olsun


günün tarihi klasör ismi olsun

Bugün bir takipçimiz , bat kodları ile yaptığı bir işlem hakkında email ile bir soru iletmişti , çözmeye çalıştığı şey ise varsayalım “edefter” adlı bir klasör olsun ve bununda içerisinde .xml dosyaları oluşsun ,

arkadaşımız bu xml dosyalarını günde dört kez ayrı ayrı yedeklemek istiyor , kullandığı komut aşağıda

M:\EDEFTER>xcopy *.xml D:\Defter\Yedekler\%date%\11 /d/e/s/y/c/z/i

Üstteki komut çalıştırıldığında bugüne tarihli bir klasör ve içinde 11 adında bir klasör daha açarak o anki yedeği alıyor (11 yedek saati oluyor) , fakat şöyle bir sıkıntı var bu kodda 11 sabit kaldığından arkadaşımız diyelimki saat 15 te yedek alacak , manuel olarak bu 11 i 15 yaptıktan sonra kodu çalıştırmak zorunda böylece O gün tarihli bir klasör ve içerisinde de yedek saatini temsil eden bir bir klasör daha oluşup içine yedekler alınmış oluyor.

mkdir klasor ismi tarih olsun

Soruna gelirsek ; Arkadaşımız Bu alt klasör ismini her defasında elle vermek yerine otomatik olarak saati içerecek şekilde oluşturmak istiyor üstteki resimdede belirtildiği gibi , mkdir %date%\11 şeklinde çalışan kod mkdir %date%\%Time% şeklinde verildiğinde çalışmıyor. Buradaki sıkıntı , saatin klasör ismi için uygun olmaması , peki çözüm nedir ?

Klasör ismi günün tarihini saatini dakika ve saniyesini içersin

klasör ismi tarih saat dakika saniye olsun

Aşağıdaki kodlar bat şekline getirilip çalıştırıldığında bize günün tarih /saat/dakika/saniye sini içeren bir klasör ismi, oluşturacaktır

@echo off
set datestamp=%date:~%%
mkdir %datestamp%--%TIME:~0,2%_%TIME:~3,2%_%TIME:~6,2%

Eğer klasör isminden saniyeyi çıkarmak istiyorsak kodun sonundaki _%TIME:~6,2% kısmı silmemiz yeterlidir ,

Klasör ismi günün tarihi olsun ve alt klasör ismi saat ve dakikadan oluşsun

Arkadaşımız tam olarak bunu yapmak istediğinden yukarıdaki kod basit şekilde aşağıdaki şekilde düzenlenebilir

@echo off
set datestamp=%date:~%%
mkdir %datestamp%\%TIME:~0,2%_%TIME:~3,2%

Böylece günün tarihi klasör ismi olacak alt klasör ismi ise o anın saat ve dakikası olacaktır, ilk kod buna uygun şekilde düzenlenirse (ki arkadaşımız öyle yapmış) aşağıdaki kod elde edilmiş olacaktır

M:\EDEFTER>xcopy *.xml D:\Defter\Yedekler\%date%\%TIME:~0,2%_%TIME:~3,2% /d/e/s/y/c/z/i

Böylece bu kodları içeren .bat dosyasını zamanlanmış görevlerden her x saate bir çalışacak şekilde ayarlayıp tüm işlemleri otomatikleştirebilecektir Burada , Üstteki uygulama .bat dosyalarını aşağıdaki linkten indirebilirsiniz

Download



Yorum Ekle

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

CAPTCHA