DeleteFolder avec variable dans le nom

Résolu
cs_chapeaumelon
Messages postés
3
Date d'inscription
lundi 22 septembre 2003
Statut
Membre
Dernière intervention
12 juillet 2007
- 12 juil. 2007 à 15:13
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 12 juil. 2007 à 22:52
Bonjour,

J'ai un petit souci avec mon DeleteFolder.

Le folder à éffacer est du type 00012345.123

Le zero's sont variable en fonction du la taille en caractères du la variable stFichierSource.
Mais la dernière partie .123 est aussi variable. Mais pas d'utilité pour moi.

Je pensais que je pouvais mettre un Wildcard * à la fin, mais cela ne fonctionne pas. Si je met .123 allors le Deletefolder fonctionne.

Comment résoudre ?

Function PadLeft(rsIn, rlCount, rvntChar)
Dim s: s = String(rlCount, rvntChar)
If Len(rsIn) >= rlCount Then
PadLeft = rsIn
Else
PadLeft = String(rlCount - Len(rsIn), rvntChar) & rsIn
End If
End Function

dim filesys
Set filesys = CreateObject("Scripting.FileSystemObject")
Dim sPath
sPath = Merlindr & "\scout\archdata" & PadLeft(stFichierSource, 8, "0")&"*"
MsgBox sPath
If filesys.FolderExists(sPath) Then
filesys.DeleteFolder sPath,true
End If

4 réponses

cs_chapeaumelon
Messages postés
3
Date d'inscription
lundi 22 septembre 2003
Statut
Membre
Dernière intervention
12 juillet 2007

12 juil. 2007 à 20:19
J'ai trouvé ; malheureusement la fonction FolderExist ne supporte pas de Wildcards
3
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
12 juil. 2007 à 18:49
Salut
D'après l'aide de VB6, DeleteFolder accepte un * :
folderspec, Correspond toujours au nom du dossier à supprimer. L'argument folderspec peut contenir des caractères génériques dans le dernier composant du chemin.
"Dernier composant" c'est à dire entre le dernier \ et la fin de la chaine

Quel est le contenu de sPath quand ton essai ne fonctionne pas ?
Quelle est l'erreur s'il y en a une ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
0
cs_chapeaumelon
Messages postés
3
Date d'inscription
lundi 22 septembre 2003
Statut
Membre
Dernière intervention
12 juillet 2007

12 juil. 2007 à 19:58
F:\scout\archdata\00012345*

j'ai aussi essayé 00012345.*

Le folder a deleter : 00012345.123

Si je tape .123 après PadLeft(stFichierSource, 8, "0")&".123" - cela fonctionne parfaitement.

Je ne comprends pas ?
0
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
12 juil. 2007 à 22:52
Ah bah oui, t'as rasion, je n'y avais pas pensé.
Bien vu
0