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();