Bonjour,
Actuellement, j'ai un script qui utilise un intermédiaire .bat pour donner un certain résultat. J'aimerais éviter d'utiliser des fichiers à droite et à gauche afin de tout avoir dans mon seul fichier vbs. J'exécute le vbs j'ai le résultat sans faire appel à des intermédiaires (mon fichier .bat). C'est pour cette raison que j'ai essayé d'intégrer cette commande .bat dans mon fichier vbs. Voici le contenu du fichier .bat :
Ce fichier .bat fonctionne correctement, et me donne une liste plutôt exhaustive des logiciels que j'ai installé, mais une fois intégré dans le script .vbs j'ai quelques soucis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @ECHO OFF wmic /output:D:\Programmesliste.txt product get name ' Donne la liste des logiciels installés sur la machine locale type D:\Programmesliste.txt | find /v "Name" > D:\ProgrammesListe.csv ' Recherche dans D:\Programmesliste.txt "Name" afin d'omettre la ligne le contenant et de copier le fichier sans celui-ci sur D:\ProgrammesListe.csv type D:\Inventaire_logiciel.csv > D:\Inventaire_logiciel2.csv ' Copie le contenu de D:\Inventaire_logiciel.csv dans D:\Inventaire_logiciel2.csv type D:\Programmesliste.csv >> D:\Inventaire_logiciel2.csv ' Concatène D:\Programmesliste.csv directement à la suite dans D:\Inventaire_logiciel2.csv (sachant que le séparateur est le retour à la ligne)
Au final, en terme de syntaxe, j'obtiens le même chose qu'avec le .bat, mais j'ai une erreur à la ligne 9 (soit à la ligne objShell) qui me spécifie que le fichier est introuvable... alors pourtant que ça marche quand j'exécute le fichier .bat, mais pas le .vbs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Set objShell = CreateObject("Wscript.Shell") 'construction cumulatif de ligne de commande strCommand = "@ECHO OFF" & vbcrlf ' "vbcrlf" est un retour à la ligne strCommand = strCommand & "wmic /output:D:\Programmesliste.txt product get name" & vbcrlf strCommand = strCommand & "type D:\Programmesliste.txt | find /v ""Name"" > D:\ProgrammesListe.csv" & vbcrlf strCommand = strCommand & "type D:\Inventaire_logiciel.csv > D:\Inventaire_logiciel2.csv" & vbcrlf strCommand = strCommand & "type D:\Programmesliste.csv >> D:\Inventaire_logiciel2.csv" wscript.echo strCommand ' <---temporairement (pour tester si la ligne de commande est correcte ou non) objShell.Run strCommand, 1, True ' 1 pour afficher la console et 0 pour la cacher
Si quelqu'un pouvait me dire ce qui cloche.
Merci !
Partager