cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 2013
-
6 déc. 2006 à 22:07
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 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
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 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
cs_veler
Messages postés723Date d'inscriptiondimanche 26 novembre 2006StatutMembreDernière intervention23 janvier 20132 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
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 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.
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 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
,