[R] Vider Le contenu d'un Répertoire
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
africanism
- Niveau 4

- Messages : 85
- Enregistré le : mar. 24 juin 2008 20:05
- Status : Hors ligne
[R] Vider Le contenu d'un Répertoire
Bonjour a tous
voila je voudrais vider le contenu du repertoire c:\temp
bien sur je sais que certain fichier ne pouront etre supprime car en cour d'utilisation
j'ai bien essayer filedelete mais ce n'est pas ce qui me faut ou alors je mi prend mal
Cdt
merci a tous
voila je voudrais vider le contenu du repertoire c:\temp
bien sur je sais que certain fichier ne pouront etre supprime car en cour d'utilisation
j'ai bien essayer filedelete mais ce n'est pas ce qui me faut ou alors je mi prend mal
Cdt
merci a tous
Re: [..] Vider Le contenue d'un Repertoire
Tu peux supprimer l'intégralité du dossier(excepté ceux en cours d'utilisation) avec la fonction DirRemove :
Tu peux supprimer un à un les fichiers(excepté ceux en cours d'utilisation) présents dans le dossier :
Code : Tout sélectionner
DirRemove(@TempDir, 1)Code : Tout sélectionner
#Include <File.au3>
#Include <Array.au3>
$FileList=_FileListToArray(@Tempdir)
If @Error=1 Then
MsgBox (0,"","No Files\Folders Found.")
Exit
EndIf
for $i = 1 to $FileList[0]
FileDelete(@Tempdir&'\'&$FileList[$i])
Next
Re: [..] Vider Le contenue d'un Repertoire
Pour éviter de recrééer le dossier "temp" on peut aussi compléter le code comme ça :
Code : Tout sélectionner
#Include <File.au3>
#Include <Array.au3>
$FileList=_FileListToArray(@Tempdir)
If @Error=1 Then
MsgBox (0,"","No Files\Folders Found.")
Exit
EndIf
for $i = 1 to $FileList[0]
$attrib = FileGetAttrib(@Tempdir&'\'&$FileList[$i])
If @error Then
MsgBox(4096,"Error", "Could not obtain attributes.")
Exit
Else
If StringInStr($attrib, "D") Then
DirRemove(@Tempdir&'\'&$FileList[$i], 1)
Else
FileDelete(@Tempdir&'\'&$FileList[$i])
EndIf
EndIf
NextRe: [..] Vider Le contenue d'un Repertoire
Le code suivant :
Ne supprimera pas le dossier. Uniquement les fichiers qu'il contient.
Code : Tout sélectionner
#Include <File.au3>
#Include <Array.au3>
$FileList=_FileListToArray(@Tempdir)
If @Error=1 Then
MsgBox (0,"","No Files\Folders Found.")
Exit
EndIf
for $i = 1 to $FileList[0]
FileDelete(@Tempdir&'\'&$FileList[$i])
NextRe: [..] Vider Le contenue d'un Repertoire
Oui, mais il ne supprimera pas les dossiers, si il y en a. Et comme je trouve dangereux de supprimer un dossier qui fait parti des variables Windows, je me suis permis cette suggestion.
-
tolf
- Niveau 7

- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [..] Vider Le contenue d'un Repertoire
Pour supprimer tous les dossier et sous-dossiers d'un répertoire, il faudra utiliser une recherche récursive : on a une fonction qui fait la liste des fichiers et qui les supprime un a un (avec par exemple écriture dans la console des fichiers non supprimés) et ensuite, cette fonction fait appel à elle-même pour chaque sous-dossier.
Si vous ne voulez pas supprimer certains sous-dossiers, vous pouvez les spécifier dans le code ou demander à l'utilisateur pour chaque dossier.
Si vous ne voulez pas supprimer certains sous-dossiers, vous pouvez les spécifier dans le code ou demander à l'utilisateur pour chaque dossier.
- GhostLine
- Niveau 7

- Messages : 342
- Enregistré le : jeu. 12 mars 2009 15:28
- Localisation : Paris
- Status : Hors ligne
Re: [..] Vider Le contenue d'un Repertoire
Dans ce cas, rajouter les fichiers systèmes, cachés, et en lecture seule dans la liste des choses à ne pas zapper serait peut être une bonne idée ^^
-
tolf
- Niveau 7

- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [..] Vider Le contenue d'un Repertoire
D'un autre côté, je ne pense pas que windows ou n'importe quel programme mette des fichiers sensibles et à ne pas supprimer dans le dossier temp vu que ce dossier est justement fait pour stocker des fichiers à supprimer après leur utilisation.
Et si vous voulez vraiment plus de sécurité, supprimez les depuis votre navigateur.
Et si vous voulez vraiment plus de sécurité, supprimez les depuis votre navigateur.
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] Vider Le contenue d'un Repertoire
Comme mentionné par Tolf, il n'y a absolument aucun danger à supprimer l'intégralité des fichier contenus dans le dossier temp.
Le code le plus simple à déjà été donné, c'est carrément d'utiliser DirRemove
Je suis même pratiquement sur qu'il est inutile de recréer le dossier "Temp" puisque selon moi, il se recréera automatiquement de lui-même si tôt qu'un
fichier y sera déplacé par le système d'exploitation (Je l'ai quand même mis juste au cas)
Pour un nettoyage plus "complet" des fichiers inutiles, tu peux aussi utiliser Ccleaner portable. Il te proposera en prime d'effacer des fichiers temporaires à d'autres endroit sur ton ordinateur (ainsi que nettoyer ton historique, etc...) et de plus, il est très simple d'utilisation. Il y'a même moyen de faire le ménage dans regedit avec cette application de façon très simple.
Le code le plus simple à déjà été donné, c'est carrément d'utiliser DirRemove
Code : Tout sélectionner
$temp = "C:\windows\temp\"
DirRemove($temp,1)
DirCreate($temp)Je suis même pratiquement sur qu'il est inutile de recréer le dossier "Temp" puisque selon moi, il se recréera automatiquement de lui-même si tôt qu'un
fichier y sera déplacé par le système d'exploitation (Je l'ai quand même mis juste au cas)
Pour un nettoyage plus "complet" des fichiers inutiles, tu peux aussi utiliser Ccleaner portable. Il te proposera en prime d'effacer des fichiers temporaires à d'autres endroit sur ton ordinateur (ainsi que nettoyer ton historique, etc...) et de plus, il est très simple d'utilisation. Il y'a même moyen de faire le ménage dans regedit avec cette application de façon très simple.
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
- GhostLine
- Niveau 7

- Messages : 342
- Enregistré le : jeu. 12 mars 2009 15:28
- Localisation : Paris
- Status : Hors ligne
Re: [..] Vider Le contenue d'un Repertoire
Il me parait surtout improbable qu'il se laisse supprimer, dans la mesure où la grande majorité du temps, il y a un fichier en cours d'accès en son sein ^^
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [..] Vider Le contenue d'un Repertoire
GhostLine a écrit :Il me parait surtout improbable qu'il se laisse supprimer, dans la mesure où la grande majorité du temps, il y a un fichier en cours d'accès en son sein ^^
S'il ne se laisse pas supprimer, les fichiers qui ne sont pas en cours d'utilisation seront supprimés (du moins, c'est ce que ça a fait lorsque je l'ai testé)
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
-
Serge63
- Niveau 4

- Messages : 71
- Enregistré le : lun. 22 juin 2009 14:54
- Localisation : Clermont-ferrand
- Status : Hors ligne
Re: [..] Vider Le contenue d'un Repertoire
Bonsoir
Je me suis inspiré de ce post pour créer un programme dont j'avais besoin. Dans le cadre de mon travail, je dois régulièrement faire le ménage sur des ordinateurs qui comportent plusieurs utilisateurs ; alors ça devient vite fastidieux pour faire le ménage dans tous les profils...
J'ai décidé de vous faire part du résultat de mes recherches, car je pense que ce petit programme devrait intéresser les administrateurs qui sont dans mon cas.
Je suis preneur de toute remarque en vue d'optimiser ou améliorer ce code.
.
Je me suis inspiré de ce post pour créer un programme dont j'avais besoin. Dans le cadre de mon travail, je dois régulièrement faire le ménage sur des ordinateurs qui comportent plusieurs utilisateurs ; alors ça devient vite fastidieux pour faire le ménage dans tous les profils...
J'ai décidé de vous faire part du résultat de mes recherches, car je pense que ce petit programme devrait intéresser les administrateurs qui sont dans mon cas.
► Afficher le texte
.
Modifié en dernier par Tlem le ven. 21 août 2009 09:33, modifié 1 fois.
Raison : Ajout balise code
Raison : Ajout balise code


