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;