Récupération variable vbs en batch
Résolu/Fermé
shaly07
-
Modifié par shaly07 le 6/08/2010 à 15:31
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 - 11 août 2010 à 17:20
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 - 11 août 2010 à 17:20
A voir également:
- Récupération variable vbs en batch
- Fichier batch - Guide
- Vbs windows - Accueil - Optimisation
- Convertisseur récupération de texte - Guide
- Recuperation video youtube - Guide
- Recuperation compte gmail - Guide
3 réponses
Utilisateur anonyme
11 août 2010 à 12:31
11 août 2010 à 12:31
Salut !
Une autre solution (moins "propre" que les paramètres), c'est de passer par un fichier intermediaire qui contient la valeur de la variable "inputbox".
Le code du fichier VBS :
Le code du fichier BAT :
Cordialement
Une autre solution (moins "propre" que les paramètres), c'est de passer par un fichier intermediaire qui contient la valeur de la variable "inputbox".
Le code du fichier VBS :
dim var, launch, fso, fichier ' var : valeur inputbox ' launch : permet de lancer le bat ' fso : permet d'ouvrir un fichier ' f : contient information sur le fichier (lecture,ecriture) var = inputbox("Valeur : ", "Mon_programme.vbs") ' Permet d'écrire la variable "var" dans un fichier (temp.txt) Const ForReading = 1, ForWriting = 2 Set WshShell = WScript.CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") Set fichier = fso.OpenTextFile("C:\Users\nom_utilisateur\Desktop\temp.txt", ForWriting,true) fichier.write("" &var) fichier.close() set launch = CreateObject("WScript.Shell") launch.run "test.bat"
Le code du fichier BAT :
@echo off :: On récupère la valeur depuis le fichier "temp.txt" set /P VAR=< temp.txt :: On supprime le fichier del temp.txt cls echo. echo La variable inputbox est : %VAR% echo. pause
Cordialement
nirG95
Messages postés
292
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
15 décembre 2010
32
Modifié par nirG95 le 9/08/2010 à 19:30
Modifié par nirG95 le 9/08/2010 à 19:30
Salut,
La seul façon que je connaisse c'est de passer ta variable inputbox en argument.
Dans ton fichier VBS quand tu vas executer ton bat tu mets "monbat.bat " & variableinputbox
dans ton fichier bat tu recuperes avec %1
Exemple
Test.vbs
Test.bat
Si besoin de plus de renseignements n'hésites pas :)
Cdlt
La seul façon que je connaisse c'est de passer ta variable inputbox en argument.
Dans ton fichier VBS quand tu vas executer ton bat tu mets "monbat.bat " & variableinputbox
dans ton fichier bat tu recuperes avec %1
Exemple
Test.vbs
Dim WshShell Set WshShell = WScript.CreateObject("WScript.Shell" ) variable = InputBox("Entrer une valeur !") Monfichier = "C:\Users\myaccount\Desktop\test.bat " & variable WshShell.Run Monfichier
Test.bat
echo La variable inputbox est : %1 >> varInput.txt
Si besoin de plus de renseignements n'hésites pas :)
Cdlt
Bonjour,
Et tout d'abord merci pour ton aide.
J'ai fait comme tu me l'a conseillé mais ça ne marche pas....
Je suis un peu blonde, mais pour toi Monfichier correspond a quoi? Une variable? J'ai tout essayé même avec le nom du .bat et celui du .vbs mais rien n'y fait.
As tu une idée?
Merci d'avance.
Et tout d'abord merci pour ton aide.
J'ai fait comme tu me l'a conseillé mais ça ne marche pas....
Je suis un peu blonde, mais pour toi Monfichier correspond a quoi? Une variable? J'ai tout essayé même avec le nom du .bat et celui du .vbs mais rien n'y fait.
As tu une idée?
Merci d'avance.
nirG95
Messages postés
292
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
15 décembre 2010
32
11 août 2010 à 17:16
11 août 2010 à 17:16
Bonjour,
Pas de soucis ! Monfichier est juste une variable qui contient le chemin de ton fichier *.bat
Post ton code et je te donnerai la solution.
Cependant, le nom des script n'ont pas d'importance. La seule chose c'est de bien renseigne le chemin et le nom de ton fichier bat.
Exemple, si ton fichier bat se nomme "Bidule" est qu'il se situe à la racine de ton C:\ alors la variable Monfichier sera :
Monfichier = "C:\Bidule.bat " & variable
Attention, ne pas oublier de faire un espace après le t de .bat pour que la variable soit bien espacée de ton fichier *.bat afin qu'il comprenne que c'est un parametre.
De plus tu peux faire passer jusqu'a 9 parametres.
Exemple : Monfichier = "C:\Bidule.bat " & variable1 & " " & variable2 & " " & variable3
dans ton fichier bat tu les récupère avec %1 %2 %3 etc jusqu'a %9
J'espère que mon explication est explicite !
Cordialement.
nirG
Pas de soucis ! Monfichier est juste une variable qui contient le chemin de ton fichier *.bat
Post ton code et je te donnerai la solution.
Cependant, le nom des script n'ont pas d'importance. La seule chose c'est de bien renseigne le chemin et le nom de ton fichier bat.
Exemple, si ton fichier bat se nomme "Bidule" est qu'il se situe à la racine de ton C:\ alors la variable Monfichier sera :
Monfichier = "C:\Bidule.bat " & variable
Attention, ne pas oublier de faire un espace après le t de .bat pour que la variable soit bien espacée de ton fichier *.bat afin qu'il comprenne que c'est un parametre.
De plus tu peux faire passer jusqu'a 9 parametres.
Exemple : Monfichier = "C:\Bidule.bat " & variable1 & " " & variable2 & " " & variable3
dans ton fichier bat tu les récupère avec %1 %2 %3 etc jusqu'a %9
J'espère que mon explication est explicite !
Cordialement.
nirG
nirG95
Messages postés
292
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
15 décembre 2010
32
11 août 2010 à 17:20
11 août 2010 à 17:20
Dans mon premier exemple le fichier bat n'affiche pas le résultat, il le met directement dans un fichier bat.
Pour juste voir le résultat mets dans le fichier bat ceci :
Cordialement.
Pour juste voir le résultat mets dans le fichier bat ceci :
@echo off echo La variable inputbox est : %1 echo. pause
Cordialement.