Bat ile belirli uzantıdaki dosyaları silmek


.bat ile belirli uzantıdaki dosyaları silmek
Soru:

Belirli uzantıda ki dosyaları bat komutları ile silebilir miyiz ? Örneğin; C:\Windows klasörünün içinde bulunan bütün .bat veya .reg uzantılı dosyaları silebilir miyim ? Ama dosyaların isimlerini bilmiyorum sadece uzantılarını biliyorum mümkün müdür ?

Çözüm: Bu mümkündür bunun için aşağıdaki kodları kullanmanız yeterlidir

@echo off
for /f "tokens=1 delims=" %%a in ('dir /b /s *.reg') do (
Del "%%a"
echo %%a Deleted
)

üsttekinde .reg i değiştirip istediğin uzantıyı yazabilirisn sonrasında kodları bir notepad e yapıştırıp ve Dosya – Farklı Kaydet… seçeneğine tıklayın

Farklı kaydet

Açılan pencerede herhangi bir isim verin mesela silici.bat ve sonra silici.bat dosyasını bütün .reg lerin bulunduğu dizine kopyalayıp çalıştır

Dosya ismi

sadece .reg leri silecektir , eğerki ben bunu klasörün içine kopyalayıp çalıştırmak yerine herhangi bir yerden (belgelerim , masaütü…) çalıştırıp belirttiğim klasörün içindeki .reg leri silsin diyorsan bu durumda kodları şu şekilde düzenlemen gerekir :
örneğimizde C:\deneme\ dizinin içinde değişik uzantılarda dosyalar oluşturdum aralarında .reg lerde var ve aşağıdakini çalıştırdığımda sadece .regleri silecek

@echo off
for /f "tokens=1 delims=" %%a in ('dir /b /s C:\deneme\*.reg') do (
Del "%%a"
echo %%a Deleted
)

üstte verdiğim her iki kod da C:\deneme\ ve içerdiği tüm alt klasörlerdeki .reg leri siler (isimleri farketmez) , oysa aşağıdaki kod sadece C:\deneme\ dizinindeki .reg leri siler

del "C:\deneme\*.reg

varsayınız ki C:\deneme\ klasörü yüzlerce alt klasör içeriyor 😉


9 Yorum Var

Yorum Ekle

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

Captcha