Visual basic et les variables dos

aaaaargh Messages postés 2 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 13 octobre 2004 - 13 oct. 2004 à 17:45
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 - 14 oct. 2004 à 01:19
Bonjour,
j'ai écrit un fichier batch pour me connecter au serveur du réseau.
Dans ce fichier, j'utilise 2 variables : user et password.
set /p user="ENTRER LE NOM D'UTILISATEUR: "
set /p password="ENTRER LE MOT DE PASSE: "
puis j'utilise ces variables pour monter les lecteurs reseaux.

J'aimerais remplacer ces 2 lignes par un programme visual basic qui afficherait 2 zones de texte (text1.text et text2.text) dans lesquels on pourrait rentrer le nom d'utilisateur et le mot de passe, enregistrer ces 2 valeurs dans des variables (user et password), puis récupérer ces 2 variables dans mon fichier batch afin de monter les lecteurs réseaux et executer des scripts qui dépendent du nom d'utilisateur.
Etant débutant en vb, j'ai juste réussi la première partie en déclarant les variables dim user, password.
Ces varibles reçoivent bien les valeurs entrée dns les zones de texte.
Mais dès que je repasse sous Dos, les variables sont perdues.
Merci pour l'aide.

9 réponses

crn_c21 Messages postés 302 Date d'inscription samedi 24 janvier 2004 Statut Membre Dernière intervention 4 février 2011
13 oct. 2004 à 17:55
il faut écrire tes valeurs de variables dans ton fichier batch
avec print par exemple
0
cs_pledoux Messages postés 147 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 6 mars 2007
13 oct. 2004 à 19:24
Le mieux est d'écrire ton fichier BAT par VB par

Open "fichier.bat" For Output As #1
print #1, "ligne de commande 1"
print #1, "ligne de commande 2"
close #2

puis de lance de BAT

shell "fichier.bat"
0
cs_pledoux Messages postés 147 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 6 mars 2007
13 oct. 2004 à 19:25
Je me suis trompé, il faut comprendre
close #1
et non
close #2
0
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
13 oct. 2004 à 19:34
tu fait un truc dans le genre:
private sub command1_click()
open "c:\fichier.bat" for output as #1
write #1, "tas commande " & text1.text & " l'autre commande " & text2.text
close #1
voila
VirusMan :-p
:shock) une idée est un chose ,la dire en est une autre :shock)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CCJ Messages postés 565 Date d'inscription mercredi 19 mai 2004 Statut Membre Dernière intervention 30 avril 2008 1
13 oct. 2004 à 19:36
escuse mais j'ai poster mon message alors que t'avait deja mis le tien (j'aurai du actualiser desole)
VirusMan :-p
:shock) une idée est un chose ,la dire en est une autre :shock)
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
13 oct. 2004 à 20:20
Bonjour
Tu peux aussi écrire ton batch.bat sous la forme :

.............
blablabla %1 blabla %2 bla
.............

et le lancer par Shell "C:\Chemin\batch.bat Monlogin MonMotDePassse"

Dans la commande,les 2 paramètres seront remplacés
%1 par Monlogin et %2 par MonMotDePassse

(le fichier .bat n'est pas modifié)
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
13 oct. 2004 à 20:21
Shell "C:\Chemin\batch.bat Monlogin MonMotDePassse"
(Ah, les espaces !)
0
aaaaargh Messages postés 2 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 13 octobre 2004
13 oct. 2004 à 22:26
Merci pour vos réponses mais je crois que je ne suis pas doué !

si j'utilise la méthode :
Open "fichier.bat" For Output As #1
print #1, "ligne de commande 1"
print #1, "ligne de commande 2"
close #1

ou celle équivalente avec write, je me retrouve dans mon fichier batch avec le texte "ligne de commande 1" alors que j'aimerai avoir le texte ligne de commande 1 (sans les "").

Avec la méthode:
Shell "C:\Chemin\batch.bat Monlogin MonMotDePassse"
si j'écris dans mon batch : set USERNAME=%1
alors j'affecte à USERNAME la valeur Monlogin alors que moi je voudrais voir affecté à USERNAME la valeur que j'ai affecté à la variable Monlogin (en clair, si dans text1.text j'entre la valeur toto, alors j'aimerais récupérer dans mon batch set USERNAME=toto et nom pas set USERNAME=Monlogin).

Donc, help again
Thanx
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
14 oct. 2004 à 01:19
Alors, si Text1 contient ton USERNAME
et Text2 contient ton PASSWORD, tu fais :

Dans le fichier .bat :

set USERNAME=%1
set PASSWORD=%2 <- si la variable DOS s'appelle PASSWORD

et l'appel depuis l'appli VB :

Shell "C:\Chemin\batch.bat_" & Text1.Text & "_" & Text2.Text"
( les _ représentent des espaces)
0
Rejoignez-nous