Vă mulțumim pentru susținere

Căutați directoare pentru tone de fișiere?

Eu folosesc MSVE, și am propriile mele dale, pe care le afișez în straturi de sus. Problema este că există o mulțime de ele și sunt pe un server de rețea. În anumite directoare există ceva de ordinul a 30.000 de fișiere. Inițial am sunat la Directory.GetFiles, dar odată ce am început să testez într-un mediu pseudo-real, acesta a expirat.

Care este cel mai bun mod de a lista în lista programatică și de a trece prin multe dintre aceste fișiere?

Editare: Colaboratorul meu a sugerat utilizarea serviciului de indexare MS. A încercat cineva această abordare și cum a funcționat?

0
adăugat editat

5 răspunsuri

Am lucrat la un sistem SAN în trecut cu înregistrări audio de telefonie care aveau probleme cu numerele de fișiere într-un singur dosar - acest sistem a devenit inutilizabil undeva în jur de 5.000 (pe Windows 2000 Advanced Server cu o aplicație în C # .Net 1.1) singura soluție sensibilă la care am venit a fost să schimbăm structura folderului astfel încât să existe un număr mai rezonabil de fișiere. Interesant este faptul că exploratorul va înceta, de asemenea!

Convenția cu care am venit a fost o structură care a spart structura în ani, luni și zile - dar asta va depinde de sistemul dvs. și dacă puteți controla structura directorului ...

0
adăugat
(Sunt acum la o companie noua, dar imi amintesc partile acestui proiect.) Problema este ca AFAIK, MSVE a avut o structura de directoare pe care se astepta si totul pentru un singur layer a intrat intr-un singur folder. Nu am analizat suficient acest lucru pentru a ști dacă am putea agrega mai multe foldere, astfel încât MSVE să poată privi în toate acestea sau să privească în anumite foldere la anumite nivele.
adăugat autor Adam V

Ai putea folosi DOS?

DIR /s/b > Files.txt
0
adăugat

De asemenea, vă puteți uita fie la indexarea fișierelor, fie la obținerea unei aplicații din a treia parte, cum ar fi desktopul Google sau copernic pentru ao face și apoi interfața cu indexul lor. Știu că copernic are un API pe care îl puteți utiliza pentru a căuta orice fișier din indexul său și sprijină, de asemenea, cartografierea unităților de rețea.

0
adăugat

Categoric, le-ați despărțit. Acestea fiind spuse, stați cât mai departe de Serviciul de indexare, după cum puteți.

0
adăugat
Nu am reușit niciodată să încercăm să folosim serviciul de indexare, din fericire. Echipa din care făceam parte este acum la o singură persoană. Așa că cred că această parte a proiectului a scăzut în jos pe lista de priorități.
adăugat autor Adam V

Nici unul. .NET se bazează pe apelurile Windows API care stau la baza faptului că într-adevăr urăsc acea cantitate de fișiere.

După cum spune Ronnie: despărțiți-i.

0
adăugat