Form Windows et paramètre Batch

Résolu/Fermé
jean-michel.basset Messages postés 23 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 21 octobre 2006 - 21 oct. 2006 à 11:58
Fredheg Messages postés 1 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 29 mars 2007 - 29 mars 2007 à 09:13
Hello,

J'ai besoin pour un batch (DOS) de demander à un utilisateur de saisir des valeurs qui serviront de variables dans le traitement.
Qui sait ou je peux trouver un petit EXE qui puisse m'aider à cela ?

D'avance Thank's
A voir également:

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
21 oct. 2006 à 13:27
Salut,

Il te faut regarder du côté de la commande "choice".

;-))
0
jean-michel.basset Messages postés 23 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 21 octobre 2006 1
21 oct. 2006 à 13:48
LE script tourne sur WS2003 et je crois que CHOICE n'est plus supporté dans cet environnement....
Je regarde tout de même le site.

Merci
0
Jean-Michel
22 oct. 2006 à 21:18
En fait, j'ai écrit un VBS qui gèrent l'INPUTBOX et restitue la valeur saisie au Batch DOS.
Y'a plus de blème.
Merci.
0
SAlut peut mettre pour les forumeur interesser ton inputBox en batch ?

Merci et @ +
0
Voila, voila....
A+

' ____________________________________________________________________________
' Script de recupération de valeurs via POPUP Windows pour Batch Dos
' Syntaxe : ValBox /Q<Question incitant la saisie> /T<Titre de la fenêtre>
' Génère l'écriture dans le fihier C:\temp.tmp de la valeur saisie
' Ctec2i | JMB | 18/10/2006
' ____________________________________________________________________________
Set sh = Wscript.CreateObject("WScript.Shell")
Set envSyst = sh.Environment("SYSTEM")
Set args=Wscript.Arguments
nbargs=args.count

If testarg("T") Then
Titre=getarg
End If

If testarg("Q") Then
Question=getarg
End If

Set fs = CreateObject("Scripting.FileSystemObject")
Set fich = fs.OpenTextFile("C:\temp.tmp", 2, true)
Change = UCase(Inputbox(Question,Titre))
fich.writeLine Change
fich.close
Wscript.Quit
Set envSyst = nothing
set sh=nothing

Function testarg(param)
testarg=false
getarg=""
For i = 0 To nbargs-1
curarg=args(i)
If left(curarg,1)="/" Then
If mid(ucase(curarg),2,1)=param Then
getarg=mid(curarg,3,len(curarg))
testarg=true
exit function
End If
End If
Next
End Function
0
Super merci beaucoup
0
BASSET Jean-Michel > fredh
24 mars 2007 à 08:56
De rien...
J'avais besoin de ce type de script pour un batch de restauration qui tourne avec CA BrighStor pour l'un de mes clients
Procédure manuelle de restauration avec demande de paramètres....
0
Fredheg Messages postés 1 Date d'inscription mercredi 26 juillet 2006 Statut Membre Dernière intervention 29 mars 2007 > fredh
29 mars 2007 à 09:13
Bonjour

jútilise ton batch pour faire un inputbox sous une fenetre cmd dans XP.
Je l ai appeler Valbox.vbs
dans mon fichier batch je l appele comme ceci :
call Valbox.vbs /T"Titre de la Valbox " /Q"texte dans la Valboxe" /F"C:\valbox.txt"


Ca marche tres bien mais j aimerai gerer l apuis sur le bouton annuler et le bouton fermeture (croix rouge).
J ai esayer avec des errorlevel en sortie mais apparement je recupere toujours la valeur 0.
Peut tu me donner ton avis sur une solution STP

Une autre remarque
l argument /T ne marche pas chez moi (mauvaise manip ?)
j ai rajouter un nouveau argument /F pour donner un chemin et nom de fichier. Celui ci marche corectement.

Encore une autre remarque :
Est ce normal que le texte est donner en minuscule et que le resultat dans le fichier soit en majuscule ?


merci et @+

Voici le code vbs
rem ____________________________________________________________________________ 
rem  Script de recupération de valeurs via POPUP Windows pour Batch Dos 
rem Syntaxe : ValBox /Q<Question incitant la saisie> /T<Titre de la fenêtre> 
rem Génère l'écriture dans le fihier C:\temp.tmp de la valeur saisie 
rem Ctec2i | JMB | 18/10/2006 
rem  ____________________________________________________________________________ 
Set sh = Wscript.CreateObject("WScript.Shell") 
Set envSyst = sh.Environment("SYSTEM") 
Set args=Wscript.Arguments 
nbargs=args.count 

If testarg("T") Then 
Titre=getarg 
End If 

If testarg("Q") Then 
Question=getarg 
End If 

If testarg("F") then
Fichier_=getarg
end If

Set fs = CreateObject("Scripting.FileSystemObject") 
Set fich = fs.OpenTextFile(Fichier_, 2, true) 
Change = UCase(Inputbox(Question,Titre)) 
fich.writeLine Change 
fich.close 
Wscript.Quit 
Set envSyst = nothing 
set sh=nothing 

Function testarg(param) 
testarg=false 
getarg="" 
For i = 0 To nbargs-1 
curarg=args(i) 
If left(curarg,1)="/" Then 
If mid(ucase(curarg),2,1)=param Then 
getarg=mid(curarg,3,len(curarg)) 
testarg=true 
exit function 
End If 
End If 
Next 
End Function
0