Suppression du contenu d'un dossier

cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 - 6 déc. 2006 à 22:07
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 3 févr. 2007 à 19:03
Salut tous le monde, je suis en train de créer un nettoyeur de pc et je cherche à savoir comment supprimer le contenu d'un dossier.
Si vous ne trouvez pas, c'est pas trop grave, je supprimerai le dossier tout entier et le recréerai (je sais pas comment sa s'écrit) mais je crain des bugs de windows.
J'ai déja une partie du code, il ne me reste plus qu'avoir l'action de supprimer le contenu de telle dossier.
Merci d'avance.
Bye

ebaudoux@club.fr
http://jbaudoux.club.fr/veler/

6 réponses

CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
6 déc. 2006 à 22:30
Bah jpense qu'une commande dos peut faire laffaire, je ne sais plus laquelle mais il y en a une qui fait ca , il ne te reste plus qu'a la chercher ;)
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
6 déc. 2006 à 22:39
Salut,

voici un code mais attention, c'est du VB6, essaie de le retranscrire en dotnet :

Function  GetFilesPathFromDirectory( ByVal
sDir As String
, ByRef aRet() As String , Optional ByVal sFilter As String = "*.txt" )  As Long
'   GetFilesPathFromDirectory retourne -1 si aucun fichier
trouvé
'   sinon retourne la dimension du tableau,
donc NB fichiers -1 (tableau commence à l'indice 0)

'   init les résultats
    GetFilesPathFromDirectory = -1
    Erase aRet
    If RightB$(sDir, 2) <> "" Then sDir = sDir & ""

'   formate le
chemin
    Dim sFile As String, lIndex As Long
    sFile = Dir(sDir & sFilter, vbHidden Or
vbSystem)

'  
redimentionne après vérif premier fichier
    If sFile <> vbNullString Then
        lIndex = 0
        ReDim aRet(lIndex)
        aRet(lIndex) = sDir & sFile
        sFile = Dir

'       boucle sur tous les fichiers
        Do While sFile <> vbNullString
            lIndex = UBound(aRet) + 1
            ReDim Preserve aRet(lIndex)
            aRet(lIndex) = sDir & sFile
            sFile = Dir
        Loop

'      
retour
        GetFilesPathFromDirectory = lIndex
    End If
End Function

'  *****  
EXEMPLE D'UTILISATION  *****
Private Sub Test()
    Dim aResultat()     As String
    Dim Folder          As String
    Dim lRet            As Long
    Dim i               As Long

    Folder = "C:\Windows"  ' * ---> change ici le répertoire
    lRet = GetFilesPathFromDirectory(Folder,
aResultat())
    If lRet <> -1 Then
        For i = 0 To lRet
            Kill Folder & aResultat(i)
        Next i
    End If
End Sub

~ <small> [code.aspx?ID=39466 Mortalino] </small>
~

@++

<hr size ="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_veler Messages postés 723 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 23 janvier 2013 2
7 déc. 2006 à 07:31
Salut, tous les deux, j'ai essayer de mettre ce code en vb5 mais je n'y arrive pas, quand je corrige un truc, y a une autre erreur qui vint. Et pour le ms-dos, je trop con, je sais faire sa mais je n'y ais même pas pensé. Je croit que c'est ce que je vait utiliser mais si quelqu'un trouve un code en vb5, sa me ferrais très.
Bye

ebaudoux@club.fr
http://jbaudoux.club.fr/veler/
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
3 févr. 2007 à 18:37
Salut,

      Si tu veux supprimer le contenu d'un dossier voici comment faire : ( à la place de folder mettre le chemin d'accès complet du dossier à supprimer

   My.Computer.FileSystem.DeleteDirectory(folder, FileIO.DeleteDirectoryOption.DeleteAllContents)

PS :FileIO.DeleteDirectoryOption.DeleteAllContents permet de supprimer tous les fichiers et dossiers à l'intérieur du dossier à supprimer

(Coloration syntaxique automatique par Kenji)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 févr. 2007 à 18:52
J'en ai un qui tourne parfaitement sous VB5... (tu es bien sous VB5 ?... car tu as "posté" dans le sous-forum VB.Net) .
Si tu le veux je te l'envoie (besoin de ton email par MP, alors)

Ceci étant dit : tu devras être très soigneux avant de valider car il détruit réellement implacablement le répertoire donné. Une erreur et... t'as plus rien.
0
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
3 févr. 2007 à 19:03
Oui , c'est vrai il efface réellement le dossier pour prevoir on peut rajouter  un message :






Dim reponse As MsgBoxResult

reponse=MsgBox("Êtes vous sur de vouloir effacer ce dossier ?", MsgBoxStyle.YesNo, "Attention")
If reponse = MsgBoxResult.Yes Then
 My.Computer.FileSystem.DeleteDirectory(folder, FileIO.DeleteDirectoryOption.DeleteAllContents)
End If
,

----

(Coloration syntaxique automatique par Kenji)







Ce code n'est pas du VB5 mais du VB.net
0
Rejoignez-nous