Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3016 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBS] Attente d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBS] Attente d'un fichier

n°1993009
kata07
Posté le 14-05-2010 à 12:05:33  profilanswer
 

Bonjour,
 
J'ai un script .VBS qui me lance un chargement de donnée à partir de 3 fichiers. Il faudrait que ce script se lance automatiquement à la réception des fichiers dans un répertoire particulier.
 
Est-il possible de rajouter une ligne de commande au début du script qui attendrait la présence de ces fichiers ?
 
Sachant que cela va à terme devoir être mis en place sur une dizaine de procédures de chargement durant chacune 2 à 4 heures.
 
Je ne connais absolument rien au vbs... La moindre aide me serait très utile!
 
Merci d'avance

mood
Publicité
Posté le 14-05-2010 à 12:05:33  profilanswer
 

n°1993094
olivthill
Posté le 14-05-2010 à 17:18:05  profilanswer
 

Je ne crois qu'il y ait de solution très simple.
 
Par exemple, on peut avoir une boucle et tester si un fichier existe FileExists :

 Set fso = CreateObject("Scripting.FileSystemObject" )
  If (fso.FileExists(filespec)) Then
    msg = filespec & " existe."
  Else
    msg = filespec & " n'existe pas."
  End If


Ou bien on peut faire :

sPath = "\\Server\Drive$\Folder1\Folder2\Folder3"  
sComputer = split(sPath,"\" )(2)  
sDrive = split(sPath,"\" )(3)  
sDrive = REPLACE(sDrive, "$", ":" )  
sFolders = split(sPath,"$" )(1)  
sFolders = REPLACE(sFolders, "\", "\\" ) & "\\"  
Set objWMIService = GetObject("winmgmts:\\" & sComputer & "\root  
\cimv2" )  
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _  
    ("SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE " _  
        & "TargetInstance ISA 'CIM_DataFile' AND " _  
         & "TargetInstance.Drive='" & sDrive & "' AND " _  
          & "TargetInstance.Path='" & sFolders & "'" )  
Wscript.Echo vbCrlf & Now & vbTab & _  
 "Begin Monitoring for a Folder Change Event..." & vbCrlf  
Do  
  Set objLatestEvent = colMonitoredEvents.NextEvent  
  Select Case objLatestEvent.Path_.Class  
  Case "__InstanceCreationEvent"  
    WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName  
_  
     & " was created" & vbCrlf  
  Case "__InstanceDeletionEvent"  
    WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName  
_  
     & " was deleted" & vbCrlf  
  Case "__InstanceModificationEvent"  
    If objLatestEvent.TargetInstance.LastModified <> _  
     objLatestEvent.PreviousInstance.LastModified then  
      WScript.Echo Now & vbTab &  
objLatestEvent.TargetInstance.FileName _  
       & " was modified" & vbCrlf  
    End If  
    IF objLatestEvent.TargetInstance.LastAccessed <> _  
     objLatestEvent.PreviousInstance.LastAccessed then  
      WScript.Echo Now & vbTab &  
objLatestEvent.TargetInstance.FileName _  
       & " was accessed" & vbCrlf  
    End If  
  End Select  
Loop  
Set objWMIService = nothing  
Set colMonitoredEvents = nothing  
Set objLatestEvent = nothing


n°1993108
kata07
Posté le 14-05-2010 à 18:08:19  profilanswer
 

Partons sur la solution 1 (étant donné que je ne comprend rien du tout à la deuxième....)
Est-il possible de faire ce test toutes les 60minutes tant que les fichiers n'existe pas ?
 
Merci beaucoup


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBS] Attente d'un fichier

 

Sujets relatifs
[SCILAB]ouverture de fichierPHP Comment ouvrir un fichier sur un autre DISQUE ???
supprimer caractère dans nom de fichiercreer un fichier XML
Ouverture d'un fichierCGI (avoir un fichier PHP)
[batch] Supprimer un fichier par rapport à la dateModifier le fichier de config d'une appli par php
Modifier fichier XSLTRechercher et modifier des lignes dans un fichier
Plus de sujets relatifs à : [VBS] Attente d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR