2010-02-11 16 views

risposta

37
System.IO.Directory myDir = GetMyDirectoryForTheExample(); 
int count = myDir.GetFiles().Length; 
84

È possibile utilizzare il metodo Directory.GetFiles

anche vedere Directory.GetFiles Method (String, String, SearchOption)

È possibile specificare l'opzione di ricerca in questo sovraccarico.

TopDirectoryOnly: include solo la directory corrente in una ricerca.

AllDirectories: include la directory corrente e tutte le sottodirectory in un'operazione di ricerca. Questa opzione include punti di analisi come unità montate e collegamenti simbolici nella ricerca.

// searches the current directory and sub directory 
int fCount = Directory.GetFiles(path, "*", SearchOption.AllDirectories).Length; 
// searches the current directory 
int fCount = Directory.GetFiles(path, "*", SearchOption.TopDirectoryOnly).Length; 
+0

Posso suggerire di usare "*" per trovare i file, altrimenti i file senza estensioni non saranno inclusi nel conteggio. –

17

Il metodo più destro woud essere quello di utilizzare LINQ:

var fileCount = (from file in Directory.EnumerateFiles(@"H:\iPod_Control\Music", "*.mp3", SearchOption.AllDirectories) 
         select file).Count(); 
+4

Si potrebbe semplicemente scrivere: var fileCount = Directory.EnumerateFiles (@ "H: \ iPod_Control \ Music", "* .mp3", SearchOption.AllDirectories) .Count(); – AndrewS

8
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("SourcePath"); 
int count = dir.GetFiles().Length; 

è possibile utilizzare questo.

3

lettura di file PDF da una directory:

var list = Directory.GetFiles(@"C:\ScanPDF", "*.pdf"); 
if (list.Length > 0) 
{ 

} 
-1

per ottenere il conteggio di alcune estensioni di utilizzando LINQ è possibile utilizzare questo semplice codice:

Dim exts() As String = {".docx", ".ppt", ".pdf"} 

Dim query = (From f As FileInfo In directory.GetFiles()).Where(Function(f) exts.Contains(f.Extension.ToLower())) 

Response.Write(query.Count()) 
0

Prova a seguire il codice per ottenere il numero di file in la cartella

string strDocPath = Server.MapPath('Enter your path here'); 
    int docCount = Directory.GetFiles(strDocPath, "*", 
    SearchOption.TopDirectoryOnly).Length; 

Problemi correlati