.NET Kısa Çözümler – Bir Dizindeki Tüm Dosyaları ve Alt Dizinlerin Sayısını Almak

Merhabalar;
Sahada yaptığımız bir otomasyon uygulamasında etiket formatlarını yazdırdıktan sonra yazdırılan her etiketin prn dosyasınıda kayıt altına almamız gerekti.

Fakat belirli adete ulaştıklarında da bu formatları başka bir yere göndermeliydik, bu nedenle dizin içerisindeki dosya sayılarını almamız gerekiyordu. Kaynaklar sıkıntılı olduğu için az kaynakla hızlı bir çözüm gerekliydi, çünkü günlük binlerce yeni dosya kaydından bahsediyoruz.

Bunun için aşağıdaki gibi farklı çözümler var fakat kaynak harcamakta üstlerine yok.

var rootDir = Directory.GetDirectories(@"C:\Etiketler");

foreach (var dir in rootDir)
{
    if (Directory.GetDirectories(dir).Length > 0)
    {

    }
}

Bende aşağıdaki bir çözümler az kaynak çok iş diyebileceğimiz bir yöntem buldum.

Directory.GetFiles(WorkingDir, "*", SearchOption.AllDirectories);

Daha da az kaynak istiyorum; Bunun için çözümde aşağıda

int result = Directory.EnumerateFiles(WorkingDir, "*", SearchOption.AllDirectories).Count();
IT alanında 16 sene önce donanım ile başlayan tecrübem, network ve sonrasında iş analizi, yazılım geliştirme ve proje yöneticiliği alanlarında devam etmiştir. Endüstriyel yazılımlar, sahadan veri toplama ve analizleri, otomatik etiketleme ve barkod sistemleri, otomatik tartım ve robotik konularında tecrübe sahibiyim. Sanayi 4.0 kapsamında imalat sanayinin dijital dönüşümünde çok fazla projenin hayata geçmesini sağladım. Open Source projelerle uzun süre ilgilendim, analiz ve implementasyonu konularında tecrübe edindim. Bunlar dışında hobi amacıyla başlasam da sonradan ürüne dönüşen, geliştirme kartları ile farklı çalışmalarım olmuştur. Raspberry Pi üzerinde yaptığım donanımsal ve yazılımsal işler ile çok farklı ürünler ortaya çıkartarak tecrübe edindim.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>