Best Studio 1
Best Studio
TuZaKK 1
TuZaKK
Mt2Hizmet 1
Mt2Hizmet
Agora Metin2 1
Agora Metin2
Bvural41 1
Bvural41
kaptanmikro1 1
kaptanmikro1
R 1
Roksam
[DEV]AB 1
[DEV]AB
Sevdamsın 1
Sevdamsın
farkmt2official 1
farkmt2official
emirhanHCL 1
emirhanHCL
Scarlet 1
Scarlet
Hikaye Ekle

Hızlı Source Temizleme (Otomatik Define Silme)

  • Konuyu başlatan Konuyu başlatan Mehmetcan Y.k
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 43
  • Görüntüleme Görüntüleme 13K
3.00 yıldız(lar) 1 Değerlendirme Değerlendirenler

Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!

Paylaşım için teşekkürler.
ifdef
else
endif
Şeklinde olanlar için de düzenleme gerekebilir
 
Kodumuzu biraz daha eğittim mesela

##ifdeftest1
##ifdeftest2
##endif
##endifşeklindeyse yani silinmesini istediğimiz ifdefin içinde eğer başka bir endif varsa onda durmuyor devam ediyor ve bir sonraki endifde siliyor

[CODE lang="python" title="kodumuz"]import os

def ara_ve_sil(klasor_yolu, aranan_define):
for klasor, alt_klasorler, dosyalar in os.walk(klasor_yolu):
for dosya in dosyalar:
dosya_yolu = os.path.join(klasor, dosya)
try:
with open(dosya_yolu, 'r') as f:
satirlar = f.readlines()

yeni_icerik = []
silme_modu = False # İç içe geçmiş ifdef bloklarını takip etmek için
ifdef_sayaci = 0 # İç içe geçmiş ifdef bloklarını saymak için

for satir in satirlar:
if aranan_define in satir: # Aranan define'i bulduk
silme_modu = True

if silme_modu and satir.strip().startswith("#ifdef"): # İç içe geçmiş ifdef bloklarını kontrol et
ifdef_sayaci += 1

if silme_modu and ifdef_sayaci > 0: # İç içe geçmiş ifdef bloğunun içindeyiz
if satir.strip().startswith("#endif"): # İç içe geçmiş ifdef'in son endif'ine ulaştık
ifdef_sayaci -= 1
if ifdef_sayaci == 0: # İç içe geçmiş ifdef'in son endif'ini bulduk
silme_modu = False
continue

if not silme_modu or aranan_define in satir: # Silme modunda değilken veya aranan define'i içeren bir satırsa
yeni_icerik.append(satir)

with open(dosya_yolu, 'w') as f:
f.writelines(yeni_icerik)

except Exception as e:
print(f"Hata: {dosya_yolu} dosyası işlenirken bir hata oluştu: {e}")

klasor_yolu = input("Lütfen klasör yolunu girin: ")
aranan_define = input("Lütfen silinecek defineyi girin: ")

ara_ve_sil(klasor_yolu, aranan_define)
[/CODE]
ifndef için kontrol yok bi güncelleme daha lazim
 
Ekli dosyayı görüntüle 109759

link py dosyası zaten vtye gerek yok isteyen taratsın



otomatik olarak istediğiniz defineyi silecektir

Python dosyasını çalıştırmak için aşağıdaki adımları izleyebilirsiniz:

  1. Python yüklü değilse, öncelikle bilgisayarınıza Python'u indirip kurmanız gerekmektedir. Python'un en son sürümünü Python resmi web sitesinden indirebilirsiniz:
  2. Ardından, terminal veya komut istemcisini açın. Dosya olduğu dizine gitmek için cd komutunu kullanın. Örneğin:
    cd path/to/the/directory
  3. Son olarak, Python dosyasını çalıştırmak için terminalde aşağıdaki komutu kullanın:
    python define_sil.py
  4. Program sizi klasör yolunu ve silinecek defineyi girmeniz için yönlendirecek. İstenilen bilgileri girdikten sonra işlem başlayacak ve sonuçlar ekrana yazdırılacaktır.


veya py dosyasına sağ tıkla birlikle çalıştır oradan pythonu seçip açabilirsiniz



update 0.1
mantıklı bir çalışma olmuş
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst