Page 1 sur 1

[..] Supprimer plusieur fichier et dossier.

Posté : mar. 16 juin 2009 12:02
par ethneldryt
Bonjour ,voila avec ce code je peux supprimer des fichiers et dossier.
Le problème c'est que si un des fichiers est "utilisé" par un programme, les fichiers ne sont pas supprimer.
Y a t'il un moyen par exemple de lister le contenue d'un dossier et de faire un filedelete et dirremove en testant chaque fichier? Merci.

Code : Tout sélectionner

filedelete(@scriptdir & "\testdossier\*.*")
dirremove(@scriptdir & "\testdossier\*.*")
 

Re: [..] Supprimer plusieur fichier et dossier.

Posté : mar. 16 juin 2009 12:41
par genaille08

Code : Tout sélectionner

;~ on initialise la position du fichier a analyser
$search = FileFindFirstFile ( @scriptdir & "\testdossier" )

;~ si le fichier est vide on quitte
If $search = -1 Then Exit

While 1
;~  on parcour le fichier
    $file = FileFindNextFile($search) 
;~  si on arrive a la fin du fichier on quitte
    If @error Then ExitLoop
;~  on test l'éxistance du processus
    if ProcessExists ( $file ) Then MsgBox ( 0, "Application(s) utilisée(s) :", $file )
WEnd

Re: [..] Supprimer plusieur fichier et dossier.

Posté : mar. 16 juin 2009 18:41
par Tlem
Cette solution ne fonctionnera que pour le dossier en cours et non pour un sous dossier dans lequel un fichier est en utilisation.

Je propose deux solutions :
La première est d'utiliser Unlocker en le scriptant pour supprimer tous les fichiers et sous dossiers.

La deuxième serait d'utiliser la fonction _FileListToArray3 pour lister tous les fichiers et sous dossiers en vue de leurs suppression.
Si un fichier est occupé, alors il ne sera pas supprimé, mais la fonction continuera la suppression du reste des fichiers.