Vider le dossier Temp d'un profil [Résolu]

Messages postés
30
Date d'inscription
mardi 28 février 2006
Dernière intervention
5 mars 2013
- 12 sept. 2008 à 03:54 - Dernière réponse :
Messages postés
30
Date d'inscription
mardi 28 février 2006
Dernière intervention
5 mars 2013
- 12 sept. 2008 à 19:29
Bonjour,

J'ai un script en vbscript qui permet de vider le contenu du répertoire Temp d'un profil sous windows xp/vista. J'aimerais en faire une version C#. Voici le script:

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set WshShell = CreateObject("WScript.Shell")
    Set oFolder = fso.GetFolder(WshShell.ExpandEnvironmentStrings("%TEMP%"))

    On Error Resume next

    For Each oFile In oFolder.files
        fso.DeleteFile oFile
    Next

    For Each oSubFolder In oFolder.SubFolders
        Call KillSubFolders (oSubFolder)
    Next

    MsgBox "Nettoyage Terminé"

    Sub KillSubFolders (SubPath)
           fso.DeleteFolder SubPath
    End Sub

Relativement simple mais efficace. Je sais que je dois me servir de Environment.ExpandEnvironmentVariables("%temp%"); pour obtenir mon chemin d'accès de TEMP.

Mon problème se situe pour définir l'objet Fichier/Dossier et le ForEach par la suite. Quelqu'un pourrait m'éclairer ?

P.S. : Oui j'ai cherché sur Google mais sans succès. Donc je voudrais de l'aide s.v.p.
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
12 sept. 2008 à 09:57
3
Merci
Cependant, ne fais pas directement le Directory.Delete(...) sur ton répertoire "temp" car tu risquerai de la supprimer lui aussi.

Il faut donc que tu fasses comme ton algo mais en C#:

DirectoryInfo dir = new DirectoryInfo(Environment.ExpandEnvironmentVariables("%temp%"));

foreach (FileInfo curFile in dir.GetFiles())
{
curFile.Delete();
}

foreach (DirectoryInfo curDir in dir.GetDirectories())
{
curDir.Delete(true);
}

MessageBox.Show("Nettoyage Terminé");


Bonne journée,


Billou_13

Merci billou_13 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de billou_13
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
12 sept. 2008 à 09:28
0
Merci
En .net, il suffit tout simplement d'utiliser la méthode suivante :

Directory.Delete( path, true );

http://msdn.microsoft.com/fr-fr/library/62t64db3.aspx

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
Messages postés
30
Date d'inscription
mardi 28 février 2006
Dernière intervention
5 mars 2013
12 sept. 2008 à 19:29
0
Merci
merci beaucoup. C'est le petit coup de pouce que je recherchais!
Commenter la réponse de cs_iceman64b

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.