Les Snippets

Connexion

Lister tous les fichiers d'un repertoire

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 21/08/2006 16:53:02 et initié par foufou2004 [Liste]
Date de mise à jour : 15/12/2007 08:32:08
Vue : 26052
Catégorie(s) : Fichier / Disque
Langages dispo pour ce code :
- PHP 5
- VBA
- VB6, VBA
- Windev
- C# 2.x
- C# 2.x
- VB 2005
- PHP 4, PHP 5
- PHP 5
- Javascript
- VB6
- Java
- Windev
- Python



Langage : PHP 5
Date ajout : 21/08/2006
Posté par foufou2004 [Liste]
<?php
function ListingDirectory($path) {
  if (is_dir($path))
   {
     if ($dh = @opendir($path)) {
       while (($file = readdir($dh)) !== false) {
           if (($file != '.') && ($file != '..') && ($file != '...'))
               if (is_dir($path . $file))
                 ListingDirectory($path . $file . '/');
                else echo $path . $file.'<br>';
       }
       closedir($dh);
   }
   }
  elseif (is_file($path)) echo $path.'<br>';  
}
$directory = "./docs/";
ListingDirectory($directory);
?>
Langage : VBA
Date ajout : 27/08/2006
Posté par mortalino [Liste]

Sub Cherche_Fichiers_Dans_Dossier()
' *** le résultat peut apparaitre dans un message box (voir la syntaxe
'       mise en commentaire dans le code) mais je l'ai occulté car, pour cet exemple,
'       il y a environ 1 000 fichiers dans c:\.  Je me sers donc des cellules Excel

    Dim strMessage  As String
    Dim i           As Long
        Set fs = Application.FileSearch

With fs
    .LookIn = "C:\"  ' *** mettre ici le dossier voulu !
    .SearchSubFolders = True
    .Filename = "*.exe"
    If .Execute(SortBy:=msoSortByFileName, _
            SortOrder:=msoSortOrderAscending) > 0 Then
        MsgBox "Il y a " & .FoundFiles.Count & _
            " fichier(s) trouvé(s)."
        For i = 1 To .FoundFiles.Count
            Cells(i, 1).Value = .FoundFiles(i)
              'strMessage = strMessage & .FoundFiles(i) & vbCrLf
        Next i
              'MsgBox strMessage
    Else
        MsgBox "Il n'y a aucun fichier."
    End If
End With

End Sub


Langage : VB6 , VBA
Date ajout : 29/08/2006
Posté par PCPT [Liste]
DateMAJ : 15/12/2007
Public Function GetFilesPathFromDirectory(ByVal  sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.txt"As Long
'   GetFilesPathFromDirectory retourne -1 si aucun fichier  trouvé
'   sinon retourne la dimension du tableau,  donc NB fichiers -1 (tableau commence à l'indice 0)
'   init les résultats
    GetFilesPathFromDirectory = -1
    Erase aRet
    If RightB$(sDir, 2) <> "\" Then sDir = sDir & "\"
'   formate le  chemin
    Dim sFile As String
    sFile = Dir(sDir & sFilter, vbHidden Or  vbSystem)
'    boucle sur tous les fichiers
    Do
        If LenB(sFile) Then
            GetFilesPathFromDirectory = GetFilesPathFromDirectory +  1
            ReDim Preserve aRet(GetFilesPathFromDirectory)
            aRet(GetFilesPathFromDirectory) = sDir &  sFile
            sFile = Dir
        End If
    Loop Until LenB(sFile) = 0
End Function




'   EXEMPLE D'UTILISATION
Private Sub Command1_Click() 
    Dim aResultat() As String 
    Dim lRet As Long 
    Dim i As Long 

    lRet = GetFilesPathFromDirectory("C:\Windows\", aResultat()) 
    If lRet <> -1 Then 
        For i = 0 To lRet 
            Debug.Print "Fichier " & i + 1 & " = " & aResultat(i) 
        Next i 
    End If 
End Sub

Langage : Windev
Date ajout : 14/09/2006
Posté par Elian Lacroix [Liste]
fListeFichier(sPath, "ListeFichier")
// Code de la procédure "ListeFichier" appelée automatiquement
// pour tous les fichiers (call-back)
Procédure ListeFichier(sChemin, sNomFichier,bChange,Pointeur)
Trace(sChemin+sNomFichier)

// Si besoin de limiter l'exploration au répertoire, sans ses sous-répertoires :
SI bChange = flChangeRépertoire ALORS RENVOYER Faux
Langage : C# 2.x
Date ajout : 01/11/2006
Posté par MorpionMx [Liste]
DateMAJ : 01/11/2006

string[] files = Directory.GetFiles(@"Chemin", "*.*", SearchOption.AllDirectories);

Remarque :
Si l'accés a un repertoire est refusé, alors une exception est levée et impossible de continuer le listing de fichier
Langage : C# 2.x
Date ajout : 01/11/2006
Posté par MorpionMx [Liste]
DateMAJ : 01/11/2006
public static void ListDir(string sourceDir, ref List<string> files) 
{
    DirectoryInfo dir = new DirectoryInfo(sourceDir);
     if (dir.Exists) 
    {

        try

        {
            foreach (string d in Directory.GetDirectories(sourceDir))
                ListDir(d, ref files); 
        }
        catch (UnauthorizedAccessException){} 
        foreach (string file in Directory.GetFiles(sourceDir)) 
            files.Add(file);
    }
}
// A appeler ainsi :
// List<string> files = newList<string>();
// ListDir(@"LeChemin", ref files);

Langage : VB 2005
Date ajout : 10/11/2006
Posté par Drikce06 [Liste]
Sub ListerRepertoire(ByVal NomDuRepartoire As String)

'Création d'un fichier Analyse.txt pour énumérer les fichiers trouvés
Dim sw As StreamWriter = File.CreateText("C:\Analyse.txt")

'Ecrit au début du fichier le répertoire parcouru et la date
sw.WriteLine("Répertoire racine analysé : " & NomDuRepartoire) 
sw.WriteLine(DateTime.Now)

Dim list As System.Collections.ObjectModel.ReadOnlyCollection(Of String)

'Parcours tous les fichiers du répertoire
list = My.Computer.FileSystem.GetFiles(NomDuRepartoire, FileIO.SearchOption.SearchTopLevelOnly)

'FileIO.SearchOption.SearchAllSubDirectories permet également de parcourir les sous répertoires


Dim path As String

For Each path In list

'écrit le chemein du fichier dans un fichier text

sw.WriteLine(path)


Next


'fermeture du fichier texte

sw.Close()


End Sub

Langage : PHP 4 , PHP 5
Date ajout : 08/12/2006
Posté par kankrelune [Liste]
/*
*  Return a file list
*
* @param $dir the target directory
* @param $getExt if you want get just one type of files (ex : php or .php)
*
* @return bool|array  false on fail files array on success 
*/
function listFiles( $dir, $getExt = '')
{
    if(!is_dir($dir))
       return false;
    elseif(substr($dir,-1) !== DIRECTORY_SEPARATOR)
       $dir .= DIRECTORY_SEPARATOR;
    
    if(!empty($getExt) && $getExt[0] !== '.')
        $getExt = '.'.$getExt;
    
    $ret = array();
    foreach(glob($dir.'*'.$getExt, GLOB_NOSORT) as $contents)
    {
        if(is_file($contents))
          $ret[] = str_replace($dir,'',$contents);
    }
    return $ret;
}

Langage : PHP 5
Date ajout : 15/12/2006
Posté par malalam [Liste]
<?php
$sDir = '.';
$itDir = new RecursiveIteratorIterator (new RecursiveDirectoryIterator($sDir));
while (true === $itDir -> valid ()) {
    echo str_repeat ('---', $itDir -> getDepth ()), $itDir -> current (), '<br />';
    $itDir -> next ();
}
?>
Remarque :
Lire un répertoire récursivement en utilisant les itérateurs de PHP5
Langage : Javascript
Date ajout : 12/02/2007
Posté par bultez [Liste]
                                                     //
function Aller(repertoire)  // début d'un répertoire 
                                                //
{
     f = fso.GetFolder(repertoire);
                                                                             //
     var f1 = new Enumerator(f.files);      // les fichiers 
                                                                        //
     for (; !f1.atEnd(); f1.moveNext())
    { 
	    alert(f1.item());  // traitement de f1.item(), les fichiers
    }
                                                                                  //
     var f2=new Enumerator(f.subfolders);  // les sous/répertoires 
                                                                              //
     for (; !f2.atEnd(); f2.moveNext())
    { 
	    Aller(f2.item());  
    }	
}
  
    //
  // appel : Aller("répertoire initial ou support");
//


Remarque :
Exclusif Internet Explorer
Langage : VB6
Date ajout : 22/02/2007
Posté par jrivet [Liste]
DateMAJ : 23/02/2007
Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String,  _
                        Optional ByVal sFilter As String = "*.*"As Long
Dim Fso As Object
Dim Fi
   GetFilesPathFromDirectory = -1
   Set Fso = CreateObject("Scripting.FileSystemObject")
   ReDim aRet(0)
   For Each Fi In Fso.GetFolder(sDir).Files
        'transformation du filtre pour en ressortir par ex: dll au lieu de  *.dll
       sFilter = Right(sFilter, (Len(sFilter) - InStrRev(sFilter, ".")))
       'recuperation de l'extension du  fichier
       If (Fso.GetExtensionName(Fi.Path) = sFilter) Or (sFilter = "*"Then
           'incrépentation de  la valeur a retourner
           aRet(UBound(aRet)) = Fi.Path
           ReDim Preserve aRet(UBound(aRet) + 1)
       End If
   Next
   'redimensionne le tableau pour que le dernier élément ne soit  pas vide
   ReDim Preserve aRet(UBound(aRet) - 1)
   GetFilesPathFromDirectory = UBound(aRet)
   Set Fso = Nothing
   Set Fi = Nothing
   
End Function

Remarque :
Fonction totalement inspirée par celle de PCPT mais utilisant le FileSystemObject

Langage : Java
Date ajout : 04/03/2007
Posté par Ombitious_Developper [Liste]
/**
  *
  */
import java.io.*;
String [] listFiles (String dir) throws Exception {
    return new File (dir).list ();
}
void showFiles (String dir) {
    String [] array = listFiles (dir);
    System.out.println ("Contenu du répertoire " + dir + ": ");
    for (int i = 0; i < array.length; ++i)
         System.out.println ("--" + array [i]);
}

Langage : Windev
Date ajout : 11/05/2007
Posté par drcharly93 [Liste]
ResFichier est une chaîne
//  Les fichiers présents dans le répertoire "C:\MesRépertoires\MesFichiers"
//  sont affichés dans la liste "ListeFichiers"
ResFichier = fRep("C:\MesRépertoires\MesFichiers\*.*", frFichier)
TANTQUE ResFichier <> ""
   ListeAjoute(ListeFichiers, ResFichier)
   ResFichier =  fRep("",  frFichier)
FIN
Langage : Python
Date ajout : 19/12/2007
Posté par 0x586e [Liste]
import os
def lf(d):
    f = os.listdir(d)
    o = []
    for i in f:
        if not(os.path.isdir(d+'/'+i)): o.append(i)
    return o
# Retourne un array avec les fichiers du repertoire donné.


Remarque :
Utilisation :
lf(repertoire)
Exemple :
lf('C:/')

Snippets en rapport avec : File, Fichier, Dossier, Liste, Folder



Codes sources en rapport avec : File, Fichier, Dossier, Liste, Folder

{Visual Basic, VB6, VB.NET, VB 2005} CLASSE DE GESTION DES FICHIERS/DOSSIERS ==> INFOS (DATES, COPYRIGHT...), LISTING, COPIER, CORBEILLE, BOITES DE DIALOGUE ... LE TOUT PAR APIS
Ce code est une classe qui permet de faire différentes actions sur les fichiers et les dossiers, à s...

{PHP} CLASSE DIRECTORYITERATOR POUR PHP4
Dans le cadre d'un de mes projets, j'utilise la classe PHP 5 DirectoryIterator vraiment utile pour l...

{Visual Basic, VB6, VB.NET, VB 2005} MODIFICATIONS NOM DE FICHIERS DANS UN MÊME RÉPERTOIRE
C'est un tout petit code tout simple mais qui est pratique si on veut modifier rapidement les noms d...

{Visual Basic, VB6, VB.NET, VB 2005} LISTEUR DE FICHIER - SIMPLE MAIS PRATIQUE
Vous copiez l'exe dans un répertoire, vous le lancez et il génère la liste de tous les fichiers & ré...

{Visual Basic, VB6, VB.NET, VB 2005} LISTE LES FICHIERS D'UN DOSSIER (AVEC SOUS DOSSIERS ET SOUS SOUS DOSSIERS , ETC)
J'ai fait une recherche sur VbFrance et je me suis apercu que toutes les sources faisait une liste d...

{Visual Basic, VB6, VB.NET, VB 2005} SCANLIST V2.1
Mon petit programme sert a scanner un repertoire et à faire une liste des sous dossiers et fichiers ...

{Visual Basic, VB6, VB.NET, VB 2005} BIBLIOTHÈQUE POUR ANALYSE ET RÉCUPÉRATION RÉCURSIVE DES FICHIERS
Ce code se compose de plusieurs parties : Scandir : Scan les dossiers et retourne les fichiers don...

{ASP / ASP.NET} ASP.NET - SAUVEGARDER DANS UN FICHIER XML LA LISTE DES FICHIERS PRÉSENTS DANS UN RÉPERTOIRE DONNÉ
Pour différents besoins, un fichier XML peut être nécessaire contenant la liste des fichiers dans un...

{ColdFusion} COPIE DE FICHIERS (CUSTOM TAG)
ce custom tag vous permet de copier tous les fichiers d'un répertoire vers un autre. ...

{Visual Basic, VB6, VB.NET, VB 2005} FINDFILE
Simple classe pour effectuer une recherche dans un répertoire complet ou dans un simple dossier, trè...