[Debutant] Script en erreur [Résolu]

Messages postés
9
Date d'inscription
mardi 22 février 2011
Dernière intervention
23 novembre 2011
- - Dernière réponse : cs_BenMarcel
Messages postés
9
Date d'inscription
mardi 22 février 2011
Dernière intervention
23 novembre 2011
- 23 nov. 2011 à 12:29
bonjour à tous,
j'ai un souci sur un script tout simple mais qui ne fonctionne pas. J'utilise ce script avec un ETL pour tester la présence de fichiers sur un répertoire distant.

Sub Start
Set Fso = CreateObject("Scripting.FileSystemObject")
If
Fso.FileExists("\\serveur\respdistant\*.TXT")
then
Rien à faire
else
envoi de mail
End If

end Sub

Merci de votre aide
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
3
Merci
Bon.
J'ignore tout-à-fait quel langage utilise ton "Data Exchanger".
Je n'ai par ailleurs même pas à ma disposition VBS (que j'ai banni de ma machine pour raisons personnelles, dont de sécurité) et t'ai jusqu'à présent répondu de mémoire.
Tu me dit maintenant que tu ne veux plus filtrer par extension, mais par une partie du nom.

C'est dans ce cas la fonction Instr de VBS qu'il te faut utiliser (car VBS ne connaît pas l'opérateur Like)


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
0
Merci
Bonjour,

FsO.FileExists vérifie l'existence d'UN fichier. Et ne saurait donc accepter de caractères génériques ("jokers") dans le chemin passé en paramètre.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
9
Date d'inscription
mardi 22 février 2011
Dernière intervention
23 novembre 2011
0
Merci
Merci pour votre réponse.
Quelle est la solution alors ?
Commenter la réponse de cs_BenMarcel
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
0
Merci
La solution est alors de passer en revue tous les fichiers du dossier, d'en extraire leur nom et de ne retenir que ceux dont l'extension correspond, pardi.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
9
Date d'inscription
mardi 22 février 2011
Dernière intervention
23 novembre 2011
0
Merci
merci encore ...
Abuserai je en vous demandant le code ?
Commenter la réponse de cs_BenMarcel
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
0
Merci
Abuserai je en vous demandant le code ?

Ce ne serait pas exactement "abuser", mais presque (et ce ne serait pas te rendre service du tout)
Je vais donc ici "couper la poire en deux" et te laisser faire un petit minimum, quand même

Dim dossier,Dim oFSO,fic
Set oFSO = CreateObject("Scripting.FileSystemObject")

dossier = "C:\toto\titi\tata"
If oFSO.FolderExists(dossier) Then
 For each fic in  oFSO.GetFolder(dossier).Files
   'Wscript.Echo fic.Name
' et c'est là que tu vas travailler un peu, hein, plutôt que de te contenter de copier
' tu vas devoir écrire que si l'extension de fic est ".trxt", alors ....

 Next
End If

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
9
Date d'inscription
mardi 22 février 2011
Dernière intervention
23 novembre 2011
0
Merci
Merci beaucoup, je vais me débrouiller ...
Commenter la réponse de cs_BenMarcel
Messages postés
9
Date d'inscription
mardi 22 février 2011
Dernière intervention
23 novembre 2011
0
Merci
Bon ben ça ne marche pas ... je me bat avec depuis ce matin ! :( :( :(
Voici mon code :

Dim dossier
Dim oFSO,fic
Set oFSO = CreateObject("Scripting.FileSystemObject")
dossier = "C:\EnAttente"
Ad = 0
If oFSO.FolderExists(dossier) Then
For each fic in oFSO.GetFolder(dossier).Files
If fic.Name Like "?Send?" then
Ad = Ad + 1
End if
Next
End if

Je veux ensuite tester la valeur Ad ... mais j'ai un message d'erreur à l'execution ...

Syntax error
>>If
>> ^^ error is here
Le if est celui qui teste la valeur de Ad

HELPPPPPPPPPPP
Commenter la réponse de cs_BenMarcel
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
0
Merci
Je ne comprend plus ce que tu fais
Tu disais vouloir les fichiers avec extension .txt
Que vient alors faire ici ce Like "?Send?" ?

regarde ce que fait ceci et sers-t'en :
 Dim dossier
  Dim oFSO, fic
  Set oFSO = CreateObject("Scripting.FileSystemObject")
  dossier = "D:\blabla\blabla"
  Ad = 0
  If oFSO.FolderExists(dossier) Then
  For Each fic In oFSO.GetFolder(dossier).Files
    MsgBox oFSO.GetExtensionName(fic)
  Next


Il es par ailleurs clair que dossier ne doit pas être un dossier protégé, hein

Regarde enfin comment je présente mes bouts de code sur ce forum : indentés et entre balises code. Fais-en autant, s'il te plait (c'est important).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
0
Merci
Et par ailleurs :
Sous quoi développes-tu finalement ?
Car l'opérateur Like n'est pas reconnu sous VBS (la présente section).


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Commenter la réponse de ucfoutu
Messages postés
9
Date d'inscription
mardi 22 février 2011
Dernière intervention
23 novembre 2011
0
Merci
bonjour,
Je développe sur Data Exchanger et j'inclus un objet VBScript.
Je dois en fait tester la présence de fichiers dans un répertoire. Les fichiers ont tous en commun un identifiant ("Send"). Au départ, je pensais que l'extension suffisait mais en fin de compte, ce n'est pas assez discriminant.
Et désolé pour la présentation du code mais je fais un simple copier coller de mon éditeur et c'est très basique.
Merci
Commenter la réponse de cs_BenMarcel
Messages postés
9
Date d'inscription
mardi 22 février 2011
Dernière intervention
23 novembre 2011
0
Merci
merci beaucoup, j'ai enfin réussi !!!
Commenter la réponse de cs_BenMarcel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.