Comment : créer une liste des répertoires

L'exemple de code suivant montre comment utiliser les classes d'E/S pour créer une liste de tous les fichiers avec une extension « .exe » dans un répertoire.

Exemple

Imports System
Imports System.IO

Public Class DirectoryLister
    Public Shared Sub Main(args() As String)
        Dim path As String = Environment.CurrentDirectory
        If args.Length > 0 Then
            If Directory.Exists(args(0)) Then
                path = args(0)
            Else
                Console.WriteLine("{0} not found; using current directory:",
                    args(0))
            End If
        End If
        Dim dir As New DirectoryInfo(path)
        For Each f As FileInfo In dir.GetFiles("*.exe")
            Dim name As String = f.Name
            Dim size As Long = f.Length
            Dim creationTime As DateTime = f.CreationTime
            Console.WriteLine("{0,-12:N0} {1,-20:g} {2}", size,
                creationTime, name)
        Next f
    End Sub
End Class
using System;
using System.IO;

public class DirectoryLister
{
    public static void Main(String[] args)
    {
        string path = Environment.CurrentDirectory;
        if (args.Length > 0)
        {
            if (Directory.Exists(args[0]))
            {
                path = args[0];
            }
            else
            {
                Console.WriteLine("{0} not found; using current directory:",
                    args[0]);
            }
        }
        DirectoryInfo dir = new DirectoryInfo(path);
        foreach (FileInfo f in dir.GetFiles("*.exe"))
        {
            string name = f.Name;
            long size = f.Length;
            DateTime creationTime = f.CreationTime;
            Console.WriteLine("{0,-12:N0} {1,-20:g} {2}", size,
                creationTime, name);
        }
    }
}
using namespace System;
using namespace System::IO;

public ref class DirectoryLister
{
public:
    static void Main(array<String^>^ args)
    {
        String^ path = Environment::CurrentDirectory;
        if (args->Length > 0)
        {
            if (Directory::Exists(args[0]))
            {
                path = args[0];
            }
            else
            {
                Console::WriteLine("{0} not found; using current directory:",
                    args[0]);
            }
        }
        DirectoryInfo^ dir = gcnew DirectoryInfo(path);
        for each (FileInfo^ f in dir->GetFiles("*.exe"))
        {
            String^ name = f->Name;
            long size = f->Length;
            DateTime^ creationTime = f->CreationTime;
            Console::WriteLine("{0,-12:N0} {1,-20:g} {2}", size,
                creationTime, name);
        }
    }
};

int main()
{
    DirectoryLister::Main(Environment::GetCommandLineArgs());
}

Programmation fiable

Dans cet exemple, DirectoryInfo correspond au répertoire actif, indiqué par (".") et le code répertorie tous les fichiers du répertoire actif ayant une extension .exe, ainsi que leurs taille, date de création et nom. En supposant qu'il s'agisse de fichiers .exe situés dans le sous-répertoire \Bin du répertoire C:\MyDir, la sortie de ce code peut ressembler à ceci :

953          7/20/2000 10:42 AM   C:\MyDir\Bin\paramatt.exe
664          7/27/2000 3:11 PM    C:\MyDir\Bin\tst.exe
403          8/8/2000 10:25 AM    C:\MyDir\Bin\dirlist.exe

Si vous souhaitez obtenir une liste de fichiers d'un autre répertoire, tel que votre répertoire racine C:\, passez l'argument "C:\" dans le fichier exécutable généré par la compilation de ce code, par exemple "testApplication.exe C:\".

RemarqueRemarque

Les utilisateurs de Visual Basic peuvent choisir d'utiliser les méthodes et les propriétés fournies par la classe FileSystem pour les E/S de fichiers.

Voir aussi

Tâches

Comment : lire et écrire dans un fichier de données créé récemment

Comment : ouvrir un fichier journal et y ajouter des éléments

Comment : lire du texte dans un fichier

Comment : écrire du texte dans un fichier

Comment : lire les caractères d'une chaîne

Comment : écrire des caractères dans une chaîne

Référence

DirectoryInfo

CreationTime

FullName

FileInfo.Length

DirectoryInfo.GetFiles

Concepts

E/S de fichier de base