Bir dizindeki dosyaların isimlerini txt dosyasına yazdırmak
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…



sen süpersin dostum. bu varya benim hayatımı kurtardı. allah razı olsun :)
ben teşekkür ederim işe yaradıysa ne mutlu bana…
merhaba peki bu işlemi tersine çevirebilirmiyiz yani txt de alt alta yazılan resim adlarını resimlere verdirebilirmiyiz
direk buna benzer bir yöntemle nasıl yapılacağını kestiremiyorum ancak renamer gibi programlarla yapabileceğiniz birşey gibi duruyor veya batch rename işlemini araştırabilirsiniz google ile…
ben bu tür bir işlem için winamp kullanıyorum çok kolay aynı şarkı atar gibi resimleri winamp a atıyoruz. sonra seceneklerden liste numaralarını kaldırıyoruz. playlist in altında HTML listesi yapma secenegi çıkıyor tıklıyorsunuz ve liste elinizde.
tek sorun 1.dfsdfsdf
2.dasfsdfds
3.fddf gibi liste vermesi excel de formulle numaraları kaldırmak elimizde :)
Kardeş ellerin dert görmesin o kadar çok işime yaradı ki bu bilgi bende kara kara düşünüyordum nasıl yaparım diye