Comment appliquer un If FileExists avec des caracteres generiques
7 réponses
merlin01fr
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps est
issu de variable fixe et une partie issue de variable de temps (donc qui peut
varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Verification de la presence ou non du fichier normalement crée à '
' la fin du script et qui permet de verifier si le releve '
' d'inventaire a ete fait '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Georges MAUREL
Bonjour, Je ne voies pas où se trouve le problème car votre code doit fonctionner Pour être sur vous devriez faire afficher le contenu de la variable VerifFichierLog Pour supprimer le fichier s'il existe, il vous faut faire un fso.deletefile(VerifFichierLog)
Cordialement Georges
"merlin01fr" a écrit dans le message de news:
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps est issu de variable fixe et une partie issue de variable de temps (donc qui peut varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Verification de la presence ou non du fichier normalement crée à ' ' la fin du script et qui permet de verifier si le releve ' ' d'inventaire a ete fait ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(VerifFichierLog)) Then
Wscript.Quit (1)
End If
Si quelqu'un a une idee je suis preneur
Cordialement
Bonjour,
Je ne voies pas où se trouve le problème car votre code doit fonctionner
Pour être sur vous devriez faire afficher le contenu de la variable
VerifFichierLog
Pour supprimer le fichier s'il existe, il vous faut faire un
fso.deletefile(VerifFichierLog)
Cordialement
Georges
"merlin01fr" <merlin01fr@discussions.microsoft.com> a écrit dans le message
de news: 739F5604-D10C-48BF-A3CB-93AC852ECDD5@microsoft.com...
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps
est
issu de variable fixe et une partie issue de variable de temps (donc qui
peut
varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Verification de la presence ou non du fichier normalement crée à '
' la fin du script et qui permet de verifier si le releve '
' d'inventaire a ete fait '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Bonjour, Je ne voies pas où se trouve le problème car votre code doit fonctionner Pour être sur vous devriez faire afficher le contenu de la variable VerifFichierLog Pour supprimer le fichier s'il existe, il vous faut faire un fso.deletefile(VerifFichierLog)
Cordialement Georges
"merlin01fr" a écrit dans le message de news:
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps est issu de variable fixe et une partie issue de variable de temps (donc qui peut varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Verification de la presence ou non du fichier normalement crée à ' ' la fin du script et qui permet de verifier si le releve ' ' d'inventaire a ete fait ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(VerifFichierLog)) Then
Wscript.Quit (1)
End If
Si quelqu'un a une idee je suis preneur
Cordialement
Yannick SCHAPPLER
Bonjour,
Votre question porte t-elle sur comment supprimer le fichier ? ou sur comment composer la variable ???
Votre code semble correct.... Si vous aviez quelques précisions complémentaires.
YS
"merlin01fr" a écrit dans le message de news:
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps est issu de variable fixe et une partie issue de variable de temps (donc qui peut varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Verification de la presence ou non du fichier normalement crée à ' ' la fin du script et qui permet de verifier si le releve ' ' d'inventaire a ete fait ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(VerifFichierLog)) Then
Wscript.Quit (1)
End If
Si quelqu'un a une idee je suis preneur
Cordialement
Bonjour,
Votre question porte t-elle sur comment supprimer le fichier ?
ou sur comment composer la variable ???
Votre code semble correct....
Si vous aviez quelques précisions complémentaires.
YS
"merlin01fr" <merlin01fr@discussions.microsoft.com> a écrit dans le message
de news: 739F5604-D10C-48BF-A3CB-93AC852ECDD5@microsoft.com...
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps
est
issu de variable fixe et une partie issue de variable de temps (donc qui
peut
varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Verification de la presence ou non du fichier normalement crée à '
' la fin du script et qui permet de verifier si le releve '
' d'inventaire a ete fait '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Votre question porte t-elle sur comment supprimer le fichier ? ou sur comment composer la variable ???
Votre code semble correct.... Si vous aviez quelques précisions complémentaires.
YS
"merlin01fr" a écrit dans le message de news:
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps est issu de variable fixe et une partie issue de variable de temps (donc qui peut varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Verification de la presence ou non du fichier normalement crée à ' ' la fin du script et qui permet de verifier si le releve ' ' d'inventaire a ete fait ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(VerifFichierLog)) Then
Wscript.Quit (1)
End If
Si quelqu'un a une idee je suis preneur
Cordialement
Jean-Claude BELLAMY
Dans le message :, merlin01fr a pris la peine d'écrire ce qui suit :
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps est issu de variable fixe et une partie issue de variable de temps (donc qui peut varier) , le but etant de supprimer ce fichier s'il est trouvé .
C'est un peu plus complexe qu'un simple "FileExists" !
Il faut faire appel à une "expression régulière" http://www.bellamyjc.org/fr/vbsobjets.html#regexp
Exemple --------
"dossier" contient le nom complet du dossier que l'on va explorer "nomgen" contient le nom du(des) fichier(s) recherché(s) avec caractères génériques éventuels p.ex. : rapport??-??-??_??h??m.*
' routine de test d'expression régulière ' ----------------------------------- Function RegExpTest(patrn, strng) RegExptestúlse Dim regEx, Match, Matches Set regEx = New RegExp regEx.Pattern = patrn regEx.IgnoreCase = True regEx.Global = false Set Matches = regEx.Execute(strng) If matches.count>0 Then RegExptest=true End Function
... dossier=lcase(args(0)) nomgen=lcase(args(1)) ... ' Transformation du nom de fichier avec wildcards éventuels ' en expression régulière.
' Comme les caractères "." ou "$" sont des délimiteurs dans une E.R., ' il faut donc les faire précéder d'un "" s'ils existent dans le nom ' du fichier. nomgen=Replace(nomgen,".",".") nomgen=Replace(nomgen,"$","$")
' Remplacement des caractères génériques (? et *) par leurs ' homologues en E.R. nomgen=Replace(nomgen,"?",".") nomgen=Replace(nomgen,"*","[w.]*") & "$"
Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set fs=fso.GetFolder(dossier) Set collfiles=fs.Files 'Exploration des fichiers du dossier for each file in collfiles curfile=file.name If RegExpTest(nomgen,curfile) Then ' Traitement à effectuer sur le fichier ' ....... End If next
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org ou http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Dans le message :739F5604-D10C-48BF-A3CB-93AC852ECDD5@microsoft.com,
merlin01fr <merlin01fr@discussions.microsoft.com> a pris la peine d'écrire
ce qui suit :
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du
corps est issu de variable fixe et une partie issue de variable de
temps (donc qui peut varier) , le but etant de supprimer ce fichier
s'il est trouvé .
C'est un peu plus complexe qu'un simple "FileExists" !
Il faut faire appel à une "expression régulière"
http://www.bellamyjc.org/fr/vbsobjets.html#regexp
Exemple
--------
"dossier"
contient le nom complet du dossier que l'on va explorer
"nomgen"
contient le nom du(des) fichier(s) recherché(s) avec
caractères génériques éventuels
p.ex. : rapport??-??-??_??h??m.*
' routine de test d'expression régulière
' -----------------------------------
Function RegExpTest(patrn, strng)
RegExptestúlse
Dim regEx, Match, Matches
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = false
Set Matches = regEx.Execute(strng)
If matches.count>0 Then RegExptest=true
End Function
...
dossier=lcase(args(0))
nomgen=lcase(args(1))
...
' Transformation du nom de fichier avec wildcards éventuels
' en expression régulière.
' Comme les caractères "." ou "$" sont des délimiteurs dans une E.R.,
' il faut donc les faire précéder d'un "" s'ils existent dans le nom
' du fichier.
nomgen=Replace(nomgen,".",".")
nomgen=Replace(nomgen,"$","$")
' Remplacement des caractères génériques (? et *) par leurs
' homologues en E.R.
nomgen=Replace(nomgen,"?",".")
nomgen=Replace(nomgen,"*","[w.]*") & "$"
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set fs=fso.GetFolder(dossier)
Set collfiles=fs.Files
'Exploration des fichiers du dossier
for each file in collfiles
curfile=file.name
If RegExpTest(nomgen,curfile) Then
' Traitement à effectuer sur le fichier
' .......
End If
next
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
ou http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Dans le message :, merlin01fr a pris la peine d'écrire ce qui suit :
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps est issu de variable fixe et une partie issue de variable de temps (donc qui peut varier) , le but etant de supprimer ce fichier s'il est trouvé .
C'est un peu plus complexe qu'un simple "FileExists" !
Il faut faire appel à une "expression régulière" http://www.bellamyjc.org/fr/vbsobjets.html#regexp
Exemple --------
"dossier" contient le nom complet du dossier que l'on va explorer "nomgen" contient le nom du(des) fichier(s) recherché(s) avec caractères génériques éventuels p.ex. : rapport??-??-??_??h??m.*
' routine de test d'expression régulière ' ----------------------------------- Function RegExpTest(patrn, strng) RegExptestúlse Dim regEx, Match, Matches Set regEx = New RegExp regEx.Pattern = patrn regEx.IgnoreCase = True regEx.Global = false Set Matches = regEx.Execute(strng) If matches.count>0 Then RegExptest=true End Function
... dossier=lcase(args(0)) nomgen=lcase(args(1)) ... ' Transformation du nom de fichier avec wildcards éventuels ' en expression régulière.
' Comme les caractères "." ou "$" sont des délimiteurs dans une E.R., ' il faut donc les faire précéder d'un "" s'ils existent dans le nom ' du fichier. nomgen=Replace(nomgen,".",".") nomgen=Replace(nomgen,"$","$")
' Remplacement des caractères génériques (? et *) par leurs ' homologues en E.R. nomgen=Replace(nomgen,"?",".") nomgen=Replace(nomgen,"*","[w.]*") & "$"
Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set fs=fso.GetFolder(dossier) Set collfiles=fs.Files 'Exploration des fichiers du dossier for each file in collfiles curfile=file.name If RegExpTest(nomgen,curfile) Then ' Traitement à effectuer sur le fichier ' ....... End If next
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org ou http://www.bellamyjc.org ou http://jc.bellamy.free.fr
merlin01fr
Bonjour, Je ne voies pas où se trouve le problème car votre code doit fonctionner
bonjour
oui effectivement mon code est bon sauf que c'est un fichier qui est generé mensuellement , celui du mois si il exist (je sors du script), par contre ce que je cherche a supprimer c'est celui du mois anterieur et donc je cherche une methode pour exploiter la commande if fileexists avec des caracteres generiques .
Cordialement
Bonjour,
Je ne voies pas où se trouve le problème car votre code doit fonctionner
bonjour
oui effectivement mon code est bon sauf que c'est un fichier qui est generé
mensuellement , celui du mois si il exist (je sors du script), par contre ce
que je cherche a supprimer c'est celui du mois anterieur et donc je cherche
une methode pour exploiter la commande if fileexists avec des caracteres
generiques .
Bonjour, Je ne voies pas où se trouve le problème car votre code doit fonctionner
bonjour
oui effectivement mon code est bon sauf que c'est un fichier qui est generé mensuellement , celui du mois si il exist (je sors du script), par contre ce que je cherche a supprimer c'est celui du mois anterieur et donc je cherche une methode pour exploiter la commande if fileexists avec des caracteres generiques .
Cordialement
merlin01fr
Bonjour,
Si vous aviez quelques précisions complémentaires.
Mon interrogation se porte sur la variable (MonExtractionDuMois) celle du mois en cours est facilement identifiable , mais je cherche a exploiter l'emplacement de cette varaible via des caracteres generiques pour retrouver par exemple le fichier du mois anterieur , ce qui me permettrais de le supprimer .
Cordialement
Bonjour,
Si vous aviez quelques précisions complémentaires.
Mon interrogation se porte sur la variable (MonExtractionDuMois) celle du
mois en cours est facilement identifiable , mais je cherche a exploiter
l'emplacement de cette varaible via des caracteres generiques pour retrouver
par exemple le fichier du mois anterieur , ce qui me permettrais de le
supprimer .
Mon interrogation se porte sur la variable (MonExtractionDuMois) celle du mois en cours est facilement identifiable , mais je cherche a exploiter l'emplacement de cette varaible via des caracteres generiques pour retrouver par exemple le fichier du mois anterieur , ce qui me permettrais de le supprimer .
Cordialement
Yannick SCHAPPLER
Dans ce cas, comme le suggère Jean-Claude BELLAMY dans son post, il faut recourir à une expression régulière, pour pouvoir "isoler" la partie variable liée au mois.
YS
"Yannick SCHAPPLER" a écrit dans le message de news:
Bonjour,
Votre question porte t-elle sur comment supprimer le fichier ? ou sur comment composer la variable ???
Votre code semble correct.... Si vous aviez quelques précisions complémentaires.
YS
"merlin01fr" a écrit dans le message de news:
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps est issu de variable fixe et une partie issue de variable de temps (donc qui peut varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Verification de la presence ou non du fichier normalement crée à ' ' la fin du script et qui permet de verifier si le releve ' ' d'inventaire a ete fait ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(VerifFichierLog)) Then
Wscript.Quit (1)
End If
Si quelqu'un a une idee je suis preneur
Cordialement
Dans ce cas, comme le suggère Jean-Claude BELLAMY dans son post, il faut
recourir à une expression régulière, pour pouvoir "isoler" la partie
variable liée au mois.
YS
"Yannick SCHAPPLER" <yannick.schappler@free.fr> a écrit dans le message de
news: e3sOTMQIGHA.1288@TK2MSFTNGP09.phx.gbl...
Bonjour,
Votre question porte t-elle sur comment supprimer le fichier ?
ou sur comment composer la variable ???
Votre code semble correct....
Si vous aviez quelques précisions complémentaires.
YS
"merlin01fr" <merlin01fr@discussions.microsoft.com> a écrit dans le
message de news: 739F5604-D10C-48BF-A3CB-93AC852ECDD5@microsoft.com...
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps
est
issu de variable fixe et une partie issue de variable de temps (donc qui
peut
varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Verification de la presence ou non du fichier normalement crée à '
' la fin du script et qui permet de verifier si le releve '
' d'inventaire a ete fait '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dans ce cas, comme le suggère Jean-Claude BELLAMY dans son post, il faut recourir à une expression régulière, pour pouvoir "isoler" la partie variable liée au mois.
YS
"Yannick SCHAPPLER" a écrit dans le message de news:
Bonjour,
Votre question porte t-elle sur comment supprimer le fichier ? ou sur comment composer la variable ???
Votre code semble correct.... Si vous aviez quelques précisions complémentaires.
YS
"merlin01fr" a écrit dans le message de news:
Bonjour
je cherche a verifier la presence d'un fichier dont une partie du corps est issu de variable fixe et une partie issue de variable de temps (donc qui peut varier) , le but etant de supprimer ce fichier s'il est trouvé .
Mon code
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Verification de la presence ou non du fichier normalement crée à ' ' la fin du script et qui permet de verifier si le releve ' ' d'inventaire a ete fait ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''