Bir dizindeki dosyaların isimlerini txt dosyasına yazdırmak

İpucu — Etiketler:, , — admin bu yazıyı 07 Mart 2011, 22:55 tarihinde karalamış.  

Birçoğunuzun işinize yaramayacaktır, ancak benim gibi elinde binlerce resim dosyasını bir veritabanına geçirerek kullandırmak isteyenler olabilir. Şimdi anlatacağım yöntemle bu dosyaların isimlerini txt dosyasına aktarabileceksiniz. Evet elimde bir klasör dolusu resim vardı. Bu resimleri daha sonra nasıl bir veritabanına aktararak kullanırım sorusu uyandı bende. Haliyele hepsinin ismini değiştirmek geldi aklıma, renamer gibi programlarla bunu yapabilirdim ancak resimlerin isimlerinde ölçüleri ile ilgili bölüleri de mevcuttu. yani resim1 125×125.jpg gibi isimlerle kaydedilmiş elimdeki resimler. Bu resmin ölçüsü hem büyük hali hem de küçük thumbnail dediğiniz haliyle de kaydedilmiş bu da benim dosyalara başka başka isimler vererek farklı dosyalar oluşturmamı biraz engelledi. Ben de başka bir yol izlemek istedim. Gelelim konumuza; ben de bu işi ms-dos yoluyla yapabilir miyiz acaba diyerek buldum üstelik basit bir dir komutu ile. dir komutunu ms-dos dan gelenler bilir directory isminin kısaltılmış hali olan bir komuttur. dizin içinde ne var ne yok hepsini gösterir yani klasör dosya tüm bilgileri ancak bunları tüm ayrıntıları ile aktarır komut satırına,bir başka değişle dir dediğinizde o an bulunduğunuz klasörün altında bulunan klasör isimleri ve dosya isimleri ve özellikleri ile listeler. Benim istediğim ise sadece jpg resimleri aktarması idi bu yüzden dir *.jpg komutunu kullandım . Ancak bu komutunda şöyle bir handikapı var komut bana jpg uzantılı dosyaları listeliyor güzel, ancak ayrıntılarını da veriyor yani komut satırında resim1 125×125.jpg dosyası şu kadar byte dosya olarak çıktı veriyor oysa ben sadece isimleri istiyorum. o zaman da dir /b *.jpg komutu imdadıma yetişti buradaki /b parametresi en yalın haliyle sadece isim listesini çıkartıyor. Evet şu an istediğime ulaştım peki asıl aşama nedir. yani bu listeyi ben bir txt dosyasına nasıl yazdıracağım dediğinizi duyar gibiyim. Evet basit bir > işareti imdadımıza yetişiyor burada da. Peki o zaman komutu dir /b *.jpg > index.txt yazarsak istediğimizi alacak mıyız? Evet bu komutla o an bulunduğunuz klasördeki jpg uzantılı dosyaların isimlerini index.txt dosyasının içine yazdırılarak elde edebilirsiniz. İstediğiniz listeyi anlattığım mantığı geliştirerek elde etmeniz mümkün. Aşağıdaki linkte bunu daha kolay halletmeniz için küçük bir script hazırladım. Klasör içindeki jpg uzantılı dosyaların listesini "isimal.cmd" dosyasını o klasöre kopyalarak çalıştırıp elde etmeniz mümkün. kod dizilimi ise şöyle :

@echo off
if not %0==isimal.cmd ren %0 isimal.cmd
cls
Title Klasordeki isimleri listele coder ugur
mode 80,20
color 4
echo.
echo.
echo ##################################################
echo.
echo Bu program klasordeki dosyalara index olusturur
echo.www.linedesigner.net
echo.
echo.
echo.
echo.
echo ##################################################
echo.
echo.
echo.
echo.
pause
dir /b *.jpg > index.txt
start index.txt
echo ##################################################
color 4
echo.
echo Index olusturuldu ..
echo.
echo.
echo.
echo ##################################################
echo.
echo.
echo.
echo.
pause
cls
echo.
echo.
echo.
echo.
exit

İlgili script : isimal.cmd Mantığı anladığınızı umarak bu yazıma da son veriyorum. Umarım bir işe yarar…


FaceBook ta paylaş

6 tane yorum var »

Bu yazıya yapılan yorumlar için RSS beslemeleri. TrackBack URI

Yorum yapın

Toplam 1 sayfa, sen 1. sayfadasın.1