dos sequencel file name etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
dos sequencel file name etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Faydalı Dos Toplu İş Dosyası Örnekleri

Faydalı Dos Toplu İş Dosyası Örnekleri

Dosyalara Sıralı İsimler Vermek
Bir dizinde resim dosyalarınız var ve bunları 8 karakter uzunluğunda aşağıdaki gibi sıralı dosya adı oluşturmak isitiyoruz.
00000001.jpg
00000002.jpg
.
.


Bunun için aşağıdaki dos kod bloğunu kullanabiliriz.


@echo off
setlocal EnableDelayedExpansion
set sayac=0
for %%a in (*.jpg) do (
    set /A sayac=!sayac! + 1
SET yeniDosyaAdi=       !sayac!
SET yeniDosyaAdi=!yeniDosyaAdi:~-8!
SET yeniDosyaAdi=!yeniDosyaAdi: =0!
REM ECHO !yeniDosyaAdi!
    ren %%a !yeniDosyaAdi!.new
)
ren *.new *.jpg

Dosyaları İlişkili Dizinlere Dağıtmak
Bir dizinde yyyyaagg_ssddmm formatına resim dosyalarınız var ve bunları içinde bulundugu dizine aşağıdaki gibi bir dizin yapısı oluşturarak dağıtmak istiyoruz. 1999 01 02 03 . . 12 2000 01 02 . . YillaraAylaraDagit.bat adında bir text dosyası oluşturup için aşağıdakini yazıyoruz. Örnekte 1998 ile 2014 yılları ayarlanmış. İsteğe göre düzenlenebilir.


setlocal EnableDelayedExpansion
FOR /L %%Y IN (1998,1,2014) DO (
FOR /L %%A IN (1, 1, 12) DO (
set d= %%A
set d=!d:~-2!
set d=!d: =0!
for /l %%a in (1,1,1) do if "!d:~-1!"==" " set d=!d:~0,-1!
md %%Y\!d!
move %%Y!d!??_*.jpg %%Y\!d!\ >>output.txt
ECHO %%Y!d!??_*.jpg
echo !d!
)
)
Dizinlerden dosyaları toplama. Yukarıda Yillara Aylara dağıtığımız dosyaları biraraya topluyoruz.

setlocal EnableDelayedExpansion
set CURR_PATH=%~dp0
FOR /L %%Y IN (1998,1,2014) DO (
FOR /L %%A IN (1, 1, 12) DO (
set d= %%A
set d=!d:~-2!
set d=!d: =0!
for /l %%a in (1,1,1) do if "!d:~-1!"==" " set d=!d:~0,-1!
rem echo %CURR_PATH%
move %%Y\!d!\*.jpg %CURR_PATH%
ECHO %%Y\!d!\*.jpg
echo !d!
)
)
Bir Dizindeki Boş Dizinleri Özyenilemeleli olarak silmek için:

for /f "delims=" %%d in ('dir /s /b /ad ^| sort /r') do rd "%%d"