Bonjour,
Je veux faire une sauvegarde des fichiers et répertoires du répertoire C:\Documents and Settings\Propriétaire\Local Settings\Temporary Internet Files vers un répertoire situé sur une autre partition. Je veux pouvoir faire 2 choses séparemment, donc 2 options
J'ai trouvé la fonction SHFileOperation du Win32 API et j'ai écrit quelques lignes mais ça ne copie pas tous les fichiers et je me demande pourquoi.
- Copier tout le contenu du répertoire C:\Documents and Settings\Propriétaire\Local Settings\Temporary Internet Files fichiers et répertoires sans aucune restriction sur le type fichiers ou d'attributs etc. une image complète !
- Copier certains fichiers du répertoire C:\Documents and Settings\Propriétaire\Local Settings\Temporary Internet Files sans les sous-répertoires ex: *.gif ou *.ico
Appel de FileOperation() pour copier le répertoire au complet
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function FileOperation(ASource,ADest:String):Boolean; var P: SHFILEOPSTRUCT; begin with P do begin Wnd := Application.Handle; wFunc := FO_COPY; pFrom := PChar(ASource + #0); pTo := PChar(ADest + #0); fFlags := FOF_RENAMEONCOLLISION or FOF_FILESONLY ; end; Result := (0 = ShFileOperation(P)); end;
Or ce qui est copié dans 'D:\Temp' n'est pas ce que Explorer me montre, il semble que ce que le programme voit ne soit pas ce que explorer me montre. Voir fichier jpg attaché. Est-ce possible ? J'ai pourtant pas fait d'erreur le chemin du répertoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm1.Button1Click(Sender: TObject); Const Src: string = 'C:\Documents and Settings\Propriétaire\Local Settings\Temporary Internet Files'; Const Dest: string = 'D:\Temp\'; begin If NOT FileOperation(Src, Dest) then MessageDlg('Copy error', mtInformation, [mbOk], 0); end;
Appel de FileOperation() pour copier certains fichiers, ce que j'aimerais faire
Est-ce possible de faire une sauvegarde des fichiers et/ou dossiers systèmes avec Delphi 7 perso ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.Button1Click(Sender: TObject); Const Src: string = 'C:\Documents and Settings\Propriétaire\Local Settings\Temporary Internet Files\*.gif'; Const Dest: string = 'D:\Temp'; begin FileOperation(Src, Dest); end;
OS: Windows XP sp3
Ver: Delphi 7 perso (trouvé sur ce site)
Merci pour vos suggestions.
Partager