2010-02-11 20 views

Respuesta

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

Usted puede utilizar el método Directory.GetFiles

Véase también Directory.GetFiles Method (String, String, SearchOption)

Puede especificar la opción de búsqueda en esta sobrecarga.

TopDirectoryOnly: incluye solo el directorio actual en una búsqueda.

AllDirectories: Incluye el directorio actual y todos los subdirectorios en una operación de búsqueda. Esta opción incluye puntos de análisis como unidades montadas y enlaces simbólicos en la búsqueda.

// 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

Puedo sugerir el uso de "*" para que coincida con los archivos, de lo contrario, los archivos sin extensiones no se incluirán en el recuento. –

17

El método más hábil sea llenar de utilizar LINQ:

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

Puede escribir simplemente: 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; 

Se puede usar esta.

3

lectura de archivos PDF a partir de un directorio:

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

} 
-1

para obtener el recuento de ciertas extensiones de tipos utilizando LINQ podría utilizar este código simple:

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

Trate siguiente código para obtener el número de archivos en la carpeta

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

Cuestiones relacionadas