Eliminer des extensions qui saturent les disques

browser64 Messages postés 112 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 5 décembre 2010 - 15 févr. 2007 à 18:30
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 17 févr. 2007 à 12:32
Salut à tous,

Dans mon code "voir ci-dessous"  je souhaite effectuer la suppression des extensions   .ESTFR   les disques sont c:\   et d:\     Ces extensions sont générées par mon prog de gestion de cartes SIM-GSM.
J'ai pas d'erreurs, mais cela ne marche pas les extensions sont toujours présentes sur les disques.
                       Je n'arrive pas a trouver,  ou se trouve l'erreur ?

                                                    MERCI

Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.ESTFR") As Long
GetFilesPathFromDirectory = -1
Erase aRet
If RightB$(sDir, 2) <> "" Then sDir = sDir & ""
Dim sFile As String, lIndex As Long
sFile = Dir(sDir & sFilter, vbHidden Or vbSystem)
If sFile <> vbNullString Then
lIndex = 0
ReDim aRet(lIndex)
aRet(lIndex) = sDir & sFile
sFile = Dir
Do While sFile <> vbNullString
lIndex = UBound(aRet) + 1
ReDim Preserve aRet(lIndex)
aRet(lIndex) = sDir & sFile
sFile = Dir
Loop
GetFilesPathFromDirectory = lIndex
End If
End Function
Private Sub Form_Load()
Dim aResultat() As String
Dim Folder As String
Dim lRet As Long
Dim i As Long
Folder = "C:"
Folder = "D:"
lRet = GetFilesPathFromDirectory(Folder, aResultat(), "*.ESTFR")
If lRet <> -1 Then
For i = 0 To lRet
Kill Folder & aResultat(i)
Next i
End If
End Sub

8 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
15 févr. 2007 à 18:46
salut,

dans ton form_load, remplace
            Kill Folder & aResultat(i)
par
            Name aResultat(i) As LeftB$(aResultat(i), LenB(aResultat(i)) - 10)

ps : la fonction GetFilesPathFromDirectory a le paramètre extension en optionnel, tu n'as pas besoin de le modifier (*.* par défaut mais comme tu le changes à l'appel, aucun souci)

++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
15 févr. 2007 à 21:31
 Bonsoir à tous

Un exemple, en vbs, à adapter pour VB6.

'Suppression disques de fichiers selon extension
Const strComputer = "."
Const strExt = "ppt"    '   "ESTFR"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile where Extension = '" & strExt & "'")
For Each objFile in colFiles
MsgBox objFile.Name               ' pour lecture
Set fso = CreateObject("Scripting.FileSystemObject")
'''''''''''''''''''''fso.DeleteFile(objFile.Name) ' pour suppression
Next
Set fso = Nothing
Set colFiles = Nothing
Set objWMIService = Nothing

jean-marc
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
16 févr. 2007 à 12:12
Bonjour


Ou par l'invite de commande :

c:


del *.ESTFR /s /q

d:


del *.ESTFR /s /q

Il est plus facile de batiser quelqu'un que de la convertir.(surtout en programmation)
VB (6, A excel, .NET), C++, C#.Net
Mon site
0
browser64 Messages postés 112 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 5 décembre 2010
16 févr. 2007 à 16:04
Re :

J'ai effectué la modification en mettant    "Name aResultat(i) As LeftB$(aResultat(i), LenB(aResultat(i)) - 10)" à la place de "Kill Folder & aResultat(i)".
Mais les extensions .ESTFR restent sur les disques C:\ et D:\
Mon code ci-dessous comporte une erreur mais je ne la trouve pas, peut-on me corriger le code ?



              MERCI

Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.*") As Long
GetFilesPathFromDirectory = -1
Erase aRet
If RightB$(sDir, 2) <> "" Then sDir = sDir & ""
Dim sFile As String, lIndex As Long
If sFile <> vbNullString Then
lIndex = 0
ReDim aRet(lIndex)
aRet(lIndex) = sDir & sFile
sFile = Dir
Do While sFile <> vbNullString
lIndex = UBound(aRet) + 1
ReDim Preserve aRet(lIndex)
aRet(lIndex) = sDir & sFile
sFile = Dir
Loop
GetFilesPathFromDirectory = lIndex
End If
End Function
Private Sub Form_Load()
Dim aResultat() As String
Dim Folder As String
Dim lRet As Long
Dim i As Long
Folder = "C:"
Folder = "D:"
lRet = GetFilesPathFromDirectory(Folder, aResultat(), ".ESTFR")
If lRet <> -1 Then
For i = 0 To lRet
Name aResultat(i) As LeftB$(aResultat(i), LenB(aResultat(i)) - 10)
Next i
End If
End Sub
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
16 févr. 2007 à 16:12
le code actuel (testé) va renommer tes "fichiers.ESTFR" en "fichiers" (sans extension).
à noter que là, le listing ne se fait QUE dans le disque "D:"
(pas C puisque tu modifies la variable juste après, et pas dans les sous-dossiers puisque la fonction n'est pas récursive)

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
16 févr. 2007 à 16:13
 Bonjour,

Je ne connais pas vb6 mais cela me semble suspect...la même variable ???

Folder = "C:"
Folder = "D:"

jean-marc
0
browser64 Messages postés 112 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 5 décembre 2010
17 févr. 2007 à 07:08
Re :
Je ne vois vraiment pas comment faire pour que la suppression de toutes les extensions .ESTFR du disque C:\ et D:\  se fasse et cela a partir de tout les dossiers....sous dossiers......tout les attributs c'est a dire meme si les extensions sont en attribut Archive, Système, etc....
Peut-on me faire une correction de ce code ? car je ne parviens pas à enlever les .ESTFR des Disques C:\ et D:\

                            Merci
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 févr. 2007 à 12:32
cherche avec le mot clé "récursif", ou 'lister rep et sous-rep", ce genre de truc.
ta demande existe déjà....
0
Rejoignez-nous