IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   ✔ Çözüldü Text satır sildirme (https://www.ircforumlari.net/mirc-scripting-sorunlari/1060932-text-satir-sildirme.html)

Comanche 20 Mayıs 2025 09:10

Cevap: Text satır sildirme
 
Çok teşekkürler....

CoCoRiCo 26 Mayıs 2025 16:29

Cevap: Text satır sildirme
 
Alıntı:

Comanche Nickli Üyeden Alıntı (Mesaj 1043020967)
slmlar..

/write -dl10+ dosya.txt
/write -dl10- dosya.txt
/write -dl10-50 dosya.txt

Bu 3 komutta dosyadaki tüm satırları siliniyor.

/write -dl10+50 dosya.txt kullandığımızda

/savebuf: invalid window (line 22, script110.ini) hatasını veriyor.




evet bu sonucu tahmin edemedim, loadbuf ve savebuf için mIRC ayarlarındaki limitler ve mIRC karakter kodlaması sorun (renkler vb.) çıkarabilir.


okuma yazma işinde isteğinin eksik olması büyük ayıp :)
neyse aşağıdaki kodu deneyebilirsin. temiz bir çalışma sağlayacaktır
yeni jenerasyon fonksiyonlar kullanmadım.



Kod:

/*
Örnek:
/write -dl5-7 dosya.txt  # 5 ile 7 arası bırak (5,6,7)
/write -dl10- dosya.txt # 10 ve sonrası bırak (10..son)
/write -dl10+ dosya.txt # 10 ve öncesi bırak (1..10)
/write -dl10+50 dosya.txt # 10 ile 50 arası bırak
*/

alias write {
  if ($regex($1, /^-dl(\d+)-(\d+)$/) || $regex($1, /^-dl(\d+)-$/) || $regex($1, /^-dl(\d+)\+$/) || $regex($1, /^-dl(\d+)\+(\d+)$/)) {
    var %f~ = $2
    if (!$isfile(%f~)) { echo -a Dosya yok: %f~ | return }
    var %t~ = $+($mircdir,temp.t)
    .remove -q %t~
    var %l~ = $lines(%f~),%i~ = 1
    if ($regex($1, /^-dl(\d+)-(\d+)$/)) {
      var %s~ = $regml(1),%e~ = $regml(2)
      while (%i~ <= %l~) {
        var %x~ = $read(%f~, nt, %i~)
        if (%i~ >= %s~ && %i~ <= %e~) write -a %t~ %x~
        inc %i~
      }
    }
    elseif ($regex($1, /^-dl(\d+)-$/)) {
      var %s~ = $regml(1)
      while (%i~ <= %l~) {
        var %x~ = $read(%f~, nt, %i~)
        if (%i~ >= %s~) write -a %t~ %x~
        inc %i~
      }
    }
    elseif ($regex($1, /^-dl(\d+)\+$/)) {
      var %e~ = $regml(1)
      while (%i~ <= %l~) {
        var %x~ = $read(%f~, nt, %i~)
        if (%i~ <= %e~) write -a %t~ %x~
        inc %i~
      }
    }
    elseif ($regex($1, /^-dl(\d+)\+(\d+)$/)) {
      var %s~ = $regml(1),%e~ = $regml(2)
      while (%i~ <= %l~) {
        var %x~ = $read(%f~, nt, %i~)
        if (%i~ >= %s~ && %i~ <= %e~) write -a %t~ %x~
        inc %i~
      }
    }
    else {
      ; # Diğer durumlarda dosyayı olduğu gibi kopyala
      while (%i~ <= %l~) {
        var %x~ = $read(%f~, nt, %i~)
        write -a %t~ %x~
        inc %i~
      }
    }
    .remove -q %f~
    .rename %t~ %f~
  }
  else {
    !write $1-
  }
}


Comanche 29 Mayıs 2025 09:05

Cevap: Text satır sildirme
 
tşkler....

manikdepresif 18 Ağustos 2025 07:54

Cevap: Text satır sildirme
 
filter ile de yapilabiliyor sanirim
5 ten sonrasini siler
Kod:

/filter -crff 1-5 dosya.txt dosya.txt *


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 11:10.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk