IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Pascal Discussion :

Copier un dossier et son contenu


Sujet :

Contribuez Pascal

  1. #1
    Membre éclairé
    Avatar de Chrispi
    Homme Profil pro
    Chargé de missions
    Inscrit en
    Juin 2020
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Chargé de missions
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2020
    Messages : 204
    Points : 885
    Points
    885
    Par défaut Copier un dossier et son contenu
    Bonjour,

    Deux méthodes pour copier un dossier et son contenu.

    Tout d'abord mettre un TButton sur une forme.

    1ère méthode

    Utilisation de CopyDirTree

    Il faut mettre fileutil dans les clauses uses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button1Click(Sender: TObject);
     begin
        CopyDirTree('Chemin du dossier source\Nom du dossier source\', 'Chemin du dossier receveur\Nom du dossier récepteur\');
    end;
    Le dossier receveur n'a pas besoin d'avoir été créé avant l'utilisation du code.

    Attention : il ne faut pas oublier \ à la suite des noms des dossiers source et récepteur, sinon ça ne fonctionne pas.


    2ème méthode

    Cette méthode un peu plus complexe consiste à utiliser un fichier .cmd (fonctionne aussi avec un fichier .bat).

    On crée un fichier texte qu'on enregistre avec une extension .cmd.
    Contenu du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @echo off
    mkdir Chemin et nom du dossier récepteur à créer
    copy Chemin et nom du dossier source\*.* Chemin et nom du dossier récepteur
    exit
    *.* est utilisé pour copier tous les fichiers quelles que soient leurs extensions.

    Il faut mettre Dos dans les clauses uses.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button1Click(Sender: TObject);
     begin
        Exec('Chemin du fichier .cmd\Nom du fichier .cmd','C:\Windows\System32\cmd.exe');
    end;

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 454
    Points
    15 454
    Billets dans le blog
    9
    Par défaut
    Bonjour ! Intéressant. Merci pour le partage.

    Une petite remarque concernant l'unité Dos. Elle est utile pour faire fonctionner de vieux programmes. Mais pour quelque chose de nouveau, autant utiliser l'unité Process et sa fonction RunCommand.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Membre éclairé
    Avatar de Chrispi
    Homme Profil pro
    Chargé de missions
    Inscrit en
    Juin 2020
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Chargé de missions
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2020
    Messages : 204
    Points : 885
    Points
    885
    Par défaut
    Bonjour Roland,

    Bien vu et
    Voilà le code avec RunCommand :
    Mettre process dans les clauses uses.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Button1Click(Sender: TObject);
    var
       s : ansistring;
     begin
       RunCommand('Chemin du fichier .cmd\Nom du fichier .cmd',['C:\Windows\System32\cmd.exe'],s);
    end;
    Fonctionne aussi avec un fichier .bat.

Discussions similaires

  1. Fonction pour copier un dossier et son contenu
    Par wassimbik dans le forum Langage
    Réponses: 2
    Dernier message: 15/04/2009, 11h28
  2. Réponses: 1
    Dernier message: 27/07/2006, 00h15
  3. Dupliquer un dossier et son contenu
    Par Bne dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2006, 15h36
  4. [C#] Dossier et son contenu.
    Par GéniuS77 dans le forum Windows Forms
    Réponses: 13
    Dernier message: 12/10/2004, 11h05
  5. Comment copier un répertoire et son contenu ?
    Par yoghisan dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 20/06/2004, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo