J'utilise le code suivant pour supprimer un grand nombre de fichiersObtenir fenêtres SHFileOperation 'API pour supprimer récursivement fichiers dans Delphi
function FastDelete(const fromDir: string): Boolean;
var
fos: TSHFileOpStruct;
begin
ZeroMemory(@fos, SizeOf(fos));
with fos do
begin
wFunc := FO_DELETE;
fFlags := FOF_FILESONLY or
FOF_NOCONFIRMATION or
FOF_NO_CONNECTED_ELEMENTS or
FOF_NOERRORUI or
FOF_NO_UI;
pFrom := PChar(fromDir+'\*.*' + #0);
end;
Result := (0 = ShFileOperation(fos));
end;
Comment puis-je à supprimer récursive tous les fichiers dans le chemin?
EDIT
Le problème est le FOF_FILESONLY drapeau Après la suppression des fichiers sont supprimés récursive
Salut Mason - Je n'utilise pas FOF_NORECURSION comment dois-je changer mon code pour qu'il supprime récursivement les fichiers dans les sous-répertoires? –
Il devrait le faire récursivement par défaut. Vérifiez ma modification. –
En outre, vous ne savez pas vraiment si le masque '\ *. *' Est nécessaire si vous supprimez le répertoire entier. Passant la fonction le répertoire lui-même devrait être suffisant – EagleOfToledo