IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Variable dans recherche


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 54
    Par défaut Variable dans recherche
    Bonjour à tous!
    J'ai un script qui récupére des informations dans un fichier INI. Donc, j'ai une variable qui contient tous les identifiants qu'il y a d'inscrit dans le fichier INI.
    Ensuite, je voudrais rechercher dans un repertoire précis qui contient tous les repertoires des identifiants les fichiers .PST

    Donc, ma variable contient :
    fr01371
    fr02317
    fr02320

    et ma requête de recherche est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ("SELECT * FROM CIM_DataFile WHERE Path = '\\Documents and Settings\\fr41181\\Desktop\\test\\ & users\\' AND Extension = 'pst'")
    Mon souci, c'est que il ne va pas chercher dans les repertoires des users.
    Alors, je me demande si avoir autant d'infos dans une variable peut poser un probleme?
    Merci pour vos réponses.

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    c'est quoi ce code c'est pas du VBscript ou alors il en manque un morceau ..! montre la ligne compléte au moins.... ? sinon elle est ou ta variable...? si c'est user ... il manque 2 " et un &

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Avant que tu ouvres une nouvelles discussion, veux-tu bien retourner dans tes 2 questions précédentes et nous dire si elles sont résolue et comment.
    Si résolues, il y a un joli bouton sous le dernier message de chacune.

    Pour cette question-ci, sans l'entièreté de ton code, on aura du mal à comprendre ce que tu fais et ce qui ne fonctionne pas.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 54
    Par défaut
    Voila qui est fait!

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    msgbox "Programme de recherche de fichier PST", vbInformation , "Outil PST"
     
    'Lecture du fichier INI
    Dim objetFSO
    Set objetFSO = CreateObject("Scripting.FileSystemObject")
    Set Flux = objetFSO.OpenTextFile("c:\Documents and settings\fr41181\Desktop\0.ini")
    Flux.skipline
    server="Wscript.Echo Flux.readline"
    Flux.skipline
    folder="Wscript.Echo Flux.readline"
    Flux.skipline
    outputfile="Wscript.Echo Flux.readline"
    Flux.skipline
    Flux.skipline
    Flux.skipline
    Flux.skipline
    users="Wscript.Echo Flux.readall"
     
    msgbox "Recherche des fichiers PST (Ceci peut prendre quelques minutes)",,"Outil PST"
    strComputer = "." 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    Set colFiles = objWMIService.ExecQuery _
    ("SELECT * FROM CIM_DataFile WHERE Path = '\\Documents and Settings\\fr41181\\Desktop\\test\\ & users\\' AND Extension = 'pst'")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    For Each objFile in colFiles
    Wscript.Echo objFile.Name
    Next
    msgbox "Recherche terminée",,"Outil PST"
    Oui effectivement, la variable est user!
    Merci

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    eu quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    users="Wscript.Echo Flux.readall"
    1) Déjà tu affecte à la variable users le texte : Wscript.Echo Flux.readall c'est ce que tu ve ...? , et c'est la même chose pour server.... essai de rajouter une ligne de code :
    histoire de comprendre...

    2) Que te renvoi , Flux.readAll, si c'est les lignes vues plus haut (une ligne par utilisateur) tu ne
    va pas pouvoir utiliser directement ta variable users dans ta reqête...
    il va falloir faire une requête par utilisateurs, ou combiner avec des or...



  6. #6
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 54
    Par défaut
    Citation Envoyé par bbil
    eu quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    users="Wscript.Echo Flux.readall"
    1) Déjà tu affecte à la variable users le texte : Wscript.Echo Flux.readall c'est ce que tu ve ...? , et c'est la même chose pour server.... essai de rajouter une ligne de code :
    histoire de comprendre...

    2) Que te renvoi , Flux.readAll, si c'est les lignes vues plus haut (une ligne par utilisateur) tu ne
    va pas pouvoir utiliser directement ta variable users dans ta reqête...
    il va falloir faire une requête par utilisateurs, ou combiner avec des or...


    Tu as raison, j'ai fais un :
    Ceci me renvoi bien la ligne Wscript.Echo Flux.readall

    Voici mon fichier INI :
    [server]
    FRG-S01
    [folders]
    e:\data\users\
    [Output file]
    E:\data\Groupes\Giraud\echange\adm\itb\
    [Laptop users]
    FR01371
    FR02317
    FR02320

    Je veux mettre dans une variable toute la section Laptop users.
    Flux.readAll me renvoi tous le reste du fichier INI, en l'occurence tous les identifiants. C'est donc ce que je veux mais je voudrai le mettre dans une variable pour l'utiliser dans ma recherche.

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    tiens essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    msgbox "Programme de recherche de fichier PST", vbInformation , "Outil PST"
     
    'Lecture du fichier INI
    Dim objetFSO
    Set objetFSO = CreateObject("Scripting.FileSystemObject")
    Set Flux = objetFSO.OpenTextFile("c:\Documents and settings\fr41181\Desktop\0.ini")
     
    Flux.skipline
    server="Wscript.Echo Flux.readline"
    Flux.skipline
    folder="Wscript.Echo Flux.readline"
    Flux.skipline
    outputfile="Wscript.Echo Flux.readline"
    Flux.skipline
    Flux.skipline
    Flux.skipline
    Flux.skipline
    users = split(Flux.readALL,vbcrlf)
    strComputer = "." 
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objWMIService = GetObject("winmgmts:" _ 
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    For Each user in users
     If user <> "" Then
    Wscript.echo "Recherche sur  " & "'\\Documents and Settings\\fr41181\\Desktop\\test\\" & user
       Set colFiles = objWMIService.ExecQuery _
    ("SELECT * FROM CIM_DataFile WHERE Path = '\\Documents and Settings\\fr41181\\Desktop\\test\\" & user "\\' AND Extension = 'pst'")
     
       Set objFSO = CreateObject("Scripting.FileSystemObject")
       For Each objFile in colFiles
       Wscript.Echo objFile.Name
      Next
     
     End if
    Next
    PS : Attention au "piége .." j'utilise 2 variables users et user..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche de variables dans un texte
    Par Victor01 dans le forum Langage
    Réponses: 41
    Dernier message: 13/10/2009, 19h05
  2. Rechercher une variable dans un fichier et..
    Par rikoooo dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 14/11/2008, 21h56
  3. Recherche variable dans champs d'une table
    Par kemiolek dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 21/05/2008, 10h09
  4. [vb.net]Recherche variable dans combobox
    Par skaraa dans le forum Windows Forms
    Réponses: 6
    Dernier message: 24/01/2008, 19h11
  5. Une variable dans un dictionnaire, et faire recherche
    Par ploop dans le forum Général Python
    Réponses: 4
    Dernier message: 30/06/2007, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo