IRCALEM.Com Genel Forum, IRC Forumu IF - mIRC Scripting mIRC Scripting Hazır Kodlar /dtara sürücü dosya(Dosya arama)
/dtara sürücü dosya(Dosya arama)
Aytac
/dtara sürücü dosya(Dosya arama)
0
225
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Etiketler
dosya dtara sürücü arama

Bu konuyu görüntüleyen kullanıcı(lar):1 Ziyaretçi
Şuan Offine!
Şuan Offine!
Aytac Administrator
********
Proje Sorumlusu

  • Üyelik tarihi    04.02.2020
  • Konum  78 Karabük
  • Konular335
  • Mesajlar341
  • Beğenileri:15 in 12 posts
  • Beğendiği:7
  • Rep puanı 4

L4roXyL demiş ki:Evet arkadaşlar, boş zamanlarımda mIRC.hlp dosyasında İdentifier'ları karıştırırım. Denemeler yapar, küçük kodlar yazarım. Dün gece dosya ve klasör identifier'larını karıştırırken daha önce kullanması nasip olmayan $finddir identifier'ı ile karşılaştım. Ve aklıma işinize yarıyacak bir kod yazmak geldi.

Vereceğim kod'un bu kadar karmaşık olduğuna bakmayın, yani kafanız karışmasın.
Ben zaten karmaşık yazmayı seviyorum.
Zaten bu kod'un oluşmasının sebebi $finddir identifier'ı.
Diğer identifier'lar zaten bildikleriniz.
Bilmediklerinizi açıklıyacağım.
Kullanılan identifier'lar;
$disk(sürücü-adı) : Adı üstünde bilgisayarınız'daki sürücü ismini kontrol eder.
//echo -a $disk© yaparsanız ve C adında bir sürücünüz varsa, $true olarak dönecektir.
$qt(text) : Bu identifier'ın görevi; içerisine yazılan yazının başına ve sonuna tırnak işareti koyacaktır. Yani //echo -a $qt(Hasan) yaptığınızda; "Hasan" olarak dönecektir.
Sanırım kod'un içerisinde başka yabancı gelecek bir identifier mevcut değil.
$gettok : Token identifier'ı bol bol görmüşsünüzdür.
$chr(sayı) : Girilen ascii numarasını, ait karakter'e çevirir. Bunuda biliyorsunuz.
$strip : Yazıyı renk kalın ince vb. detaylardan arındırmak için kullanılır.
Sanırım başka bir identifier'da kullanmamışım.

Buyrun kod;

Kod :
alias dtara {
  if !$1 { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Sürücü ismi girmediniz. Kullanım şekli; $chr(2),/dtara sürücü dosya-adı,$chr(2)) | halt }
  if !$disk($1) || $len($1) >= 2 { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),$chr(2),$qt($1),$chr(2),$chr(32),adında bir sürücü mevcut değil.) | halt }
  if !$2 { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Aranacak dosya ismini girmediniz.) | halt }
  if $1 && $2 {
    write -c dosyalar.txt
    echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Tarama başlatılıyor.)
    var %. = 1,%~ = $finddir($+($1,:\),$2,0),%+ = $1,%- = $2
    if $finddir($+($1,:\),$2,0) == 0 {
      echo -s $+($chr(45),$chr(32),Taranan sürücü,$chr(58)) $+($chr(2),$qt(%+))
      echo -s $+($chr(45),$chr(32),Aranan dosya ismi,$chr(58)) $+($chr(2),$qt(%-))
      echo -s $+($chr(45),$chr(32),Bulunan dosya sayısı,$chr(58)) $+($chr(2),$qt(%~))
      echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Herhangi bir dosya bulunamadı.)
    }
    if $finddir($+($1,:\),$2,0) >= 1 {
      echo -s $+($chr(45),$chr(32),Taranan sürücü,$chr(58)) $+($chr(2),$qt(%+))
      echo -s $+($chr(45),$chr(32),Aranan dosya ismi,$chr(58)) $+($chr(2),$qt(%-))
      echo -s $+($chr(45),$chr(32),Bulunan dosya sayısı,$chr(58)) $+($chr(2),$qt(%~))
      echo -s $+($chr(45),$chr(32),Sonuçlar sıralanıyor,$chr(44),$chr(32),tarama tamamlanana kadar bekleyiniz;)
      while %. <= %~ {
        echo -s - $+(Sıra,$chr(58),$chr(32),$chr(2),%.,$chr(32),$chr(45),$chr(32),$chr(2),Yeri,$chr(58),$chr(32),$chr(2),$finddir($+(%+,:\),%-,%.))
        write dosyalar.txt $+(%.,%,$chr(32),$finddir($+(%+,:\),%-,%.))
        inc %.
      }
      echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Tarama tamamlandı.)
      echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Çıkan dosyalardan herhangi birini açmak için;,$chr(2),$chr(32),/ac sıranumarası,$chr(2),$chr(32),yazmanız yeterlidir.)
      echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Bulunan her dosya'ya bir numara verilir,$chr(2),(Sıra: 1 gibi),$chr(2),$chr(32),Eğer yazdığınız numara sıra numarasında yoksa dosya açılmayacaktır.)
    }
  }
}
alias ac {
  if !$1 { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),Numara girmediniz.) | halt }
  if !$left($read(dosyalar.txt,w,$+($1,*)),1) { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(32),$chr(2),$qt($1),$chr(2),$chr(32),varolmayan bir numara,$chr(44),$chr(32),lütfen çıkan numaralar dahiline işlev yapınız.) | halt }
  if $1 && $left($read(dosyalar.txt,w,$+($1,*)),1) { echo -s $+($chr(45),$chr(32),Bilgi,$chr(58),$chr(2),$chr(32),$qt($gettok($read(dosyalar.txt,w,$+($1,*)),2,37)),$chr(2),$chr(32),klasör'ü 1 saniye sonra açılacak.) | .timer 1 1 run $strip($gettok($read(dosyalar.txt,w,$+($1,*)),2,37)) }
}
Kullanımı;

/dtara sürücü-ismi dosya-ismi
Örnek: /dtara C *mIRC* (C sürücüsünde içinde mIRC kelimesi geçen tüm klasör'leri sıralıyacaktır.)
Gördüğünüz gibi, wildcard kullanabilirsiniz.
Yani *kelime ve/ya kelime* ve/ya *kelime* şeklinde.
"Yalnız siz kalkıpta, /dtara C *a* gibi saçma bir işlev yaparsanız mIRC donacaktır."
Kod'u gerekli yerlerde kullanırsanız işinize yarıyacağını düşünüyorum.
Şimdi bir kaç örnek verelim;
/dtara C *mIRC* (C sürücüsün'de içinde mIRC kelimesi geçen tüm klasöer'ler) yapıyorum ve status penceresinde çıkan sonuçlar;

- Bilgi: Tarama başlatılıyor.
- Taranan sürücü: "C"
- Aranan dosya ismi: "*mIRC*"
- Bulunan dosya sayısı: "7"
- Sonuçlar sıralanıyor, tarama tamamlanana kadar bekleyiniz;
- Sıra: 1 - Yeri: C:\Documents and Settings\All Users\Start Menu\Programlar\Türkçe Mirc v6.21
- Sıra: 2 - Yeri: C:\Documents and Settings\L4roXyL\Application Data\mIRC
- Sıra: 3 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\Kullanılmayan\Türkçe Mirc v6.2
- Sıra: 4 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\Kullanılmayan\Türkçe Mirc v6.21
- Sıra: 5 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\Kullanılmayan\Türkçe Mirc v6.21\mirc621
- Sıra: 6 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\L4roXyL\mIRC Kodlarım
- Sıra: 7 - Yeri: C:\Documents and Settings\L4roXyL\Desktop\L4roXyL\mIRC Handcoding
- Bilgi: Tarama tamamlandı.
- Bilgi: Çıkan dosyalardan herhangi birini açmak için; /ac sıranumarası yazmanız yeterlidir.
- Bilgi: Bulunan her dosya'ya bir numara verilir(Sıra: 1 gibi) Eğer yazdığınız numara sıra numarasında yoksa dosya açılmayacaktır.
-

Birde "/ac" alias'imiz var.
Gördüğünüz gibi her çıkan sonuca bir numara verilmekte;
Siz /ac 6 komutunu uyguladığınızda, 1 saniye sonra sıra numarası 6 olan klasör'ü açıcaktır.
Umarım işinize yarar.

-

Hıı birde gruplar için çok basit bir kod yazmıştım belki işinize yarar;
mIRC'inizdeki grupların isimleri bulunduğu klasör'leri ve durumlarını göstermek için;
Buyrun;

Kod :
alias gruplar {
var %# = 1,%~ = $group(0)
while %# <= %~ {
echo -a $+(Grup ismi:,$chr(32),$group(%#),$chr(32),Bulunduğu dosya:,$chr(32),$group(%#).fname,$chr(32),Durumu:,$chr(32),$replace($group(%#).status,off,Kapalı,on,Açık))
inc %#
}
}

Kullanımı: /gruplar
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş.



Foruma Git: