Windows'da Programsız Dosya Yedekleme | Sonsuz Teknoloji

Windows’da Programsız Dosya Yedekleme

data backup

Bu eğitimde basitleştirilmiş bir Windows toplu iş dosyası ve görev zamanlayıcı kullanılarak otomatik günlük yedekleme nasıl oluşturacağımızı  göreceğiz.

Toplu iş dosyası oluşturmak için not defterini kullanacağız. Windows toplu iş dosyası, bilgisayara ne yapılacağını bildiren bir dizi komuttur. Yedeklemek istediğimiz klasörü kopyalamak için komut eklemek. C sürücüsünde bulunan “Deneme” adındaki bir klasörün içerisindeki dosyaları D sürücüsündeki “Yedek” adlı bir klasöre yedekleme yapacağız. İlk önce yedekleme yapmak için bir komut oluşturacağız.

notepad

Önce not defterini açmanız gerekecek. Not defterinin açmanın en kolay yolu Windows + R tuşuna basarak “çalıştır“ı açın. Çalıştır’a “notebad” yazıp enter’a basın. Açılan note defterine  aşağıda yazan komutu yazın.

xcopy C:\deneme\* D:\yedek\Yedek-%date%\* /Y /Q /S

Xcopy komutları dosya ve klasörleri kopyalar. Komutun söz dizimi xcopy [destination] [arguments] ‘dir. Bağımsız değişkenler, xcopy’ye bazı durumları nasıl ele alacağını bildirir. Bu taslakta dosyaların üzerine yazılması için “/Y” kullandım. “/Q“, kopyalama işlemi sırasında dosya adlarını görüntülemez. “/S” dizinleri ve alt dizinleri kopyalar.

C:\deneme\  asıl dosyaların olduğu yeri belirliyor. D:\Yedek\  yedeklenecek yeri belirliyor. Bu alanları kendinize göre düzenleyebilirsiniz. Yedekleme klasörü adını her gün değiştirmek istemezseniz, basitçe \Yedek\ ya da kendinize göre yazabilirsiniz.   “Yedek %date%” değişkendir.  Bu komut “Yedek” klasör içerisine yedekleme yapıldığında yeni yedekleme tarihini gösteren “Yedek-07.02.2018” şeklinde bir klasör oluşturacaktır. Dosyalar bu oluşturulan klasör içerisine yedeklenecek. Not defterine xcopy C:\deneme\* D:\yedek\Yedek-%date%\* /Y /Q /S komutunu yazdıktan sonra dosyayı yedek.bat olarak kaydedin.

Not defteri “bat” olarak nasıl kayıt edilir?

bat kayıt

Not defteri varsayılan olarak “.txt” uzantılı olarak kayıt edilir. “.bat” olarak kayıt etmek için dosya uzantısını “.bat” olarak değişmeniz yeterli olacaktır. Dosyayı kayıt ederken veya farklı kayıt ettiğinizde “*” olan alana istediğiniz adı verebilir. “.txt” olan yere “.bat” olarak kayıt ettiğinizde toplu iş dosyası olarak kayıt edilecektir.

uzantısı

Kayıt edilmiş bir “.txt” uzantılı dosyayı “Farklı kayıt et” diyerek yukarıdaki gibi “.bat” olarak kayıt edebilir veya uzantıyı değiştirmek için herhangi bir klasör içerisinde üst kısımdan “Görünüm” kısmından “Dosya adı uzantıları“na çeltik koyduğunuzda bilgisayarınızdaki tüm dosyaların uzantıları görünecektir. Kodları yazdığınız “.txt” uzantılı not defterinin sonunda  bulunan “.txt” uzantısını “.bat” olarak değiştirdiğinizde dosya Windows toplu iş dosyasına dönüşecektir.

Oluşturduğunuz toplu iş dosyasını tıkladığınızda hedef dosyadaki dosyalar D:\Yedek\ klasörüne yedeklenecek. %date% komutunun düzgün çalışması için bilgisayarınızın tarih biçiminin düzgün çalıştığından emin olun. Tarih düzgün biçimde ayarlı değilse yedekleme çalışmaz bu kodda oluşan genel hata %date% kodunun bilgisayar tarih biçimi ile uyuşmamasından kaynaklanır. Bu kod yapılırken tarih biçimi “09.02.2018” şeklindeydi. Windows bilgisayarlarda Tarih ve saat ayarlarının nasıl yapılacağına buradan bakabilirsiniz.

Görev Zamanlayıcısı

Bu toplu iş komutunu Windows görev zamanlayıcısı ile otomatik olarak yedekleme yapmasını sağlayabilirsiniz. Görev zamanlayıcısı işlevinin nasıl kullanılacağına buradan bakınız.

  1. Avatar
    erkan balkan
    09:39 30 Temmuz 2019 09:39

    Merhabalar , cihazımdaki tarih saat ayarını sizin verdiğiniz ayarlara göre yaptığım halde
    ör: 30.07.2019 09:35 dosya kopyalama işlemini yapmıyor. -%date% kısmını bat tan kaldırınca birebir kopyalıyor sorun yok. -%date% ekleyince çalışmıyor. diyeceksinizki kesinlikle tarihle ilgili bir sorun. bende kontrol ediyorum defalarca tüm tarih doğru.
    cihazın domain de olması etkiler mi ?tarih saat ayarlarını domainden çekiyor. ama sizin dediğiniz gibi çekiyor.

  2. Avatar
    Sertaç
    14:35 22 Eylül 2020 14:35

    Merhaba,
    Bende tarih ile ilgili sorun yaşadım. Aşağıdaki şekilde yapınca başarılı oldu.

    @echo off
    for /F “usebackq tokens=1,2 delims==” %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if ‘.%%i.’==’.LocalDateTime.’ set ldt=%%j
    set yyyy=%ldt:~0,4%
    set mm=%ldt:~4,2%
    set dd=%ldt:~6,2%

    xcopy C:\test\* Z:\Yedek-%mm%-%dd%-%yyyy%\*

Bir yorum bırakınız...

*