Form Windows et paramètre Batch

Résolu
jean-michel.basset Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
Fredheg Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Modérateur Dernière intervention   4 896
 
Salut,

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

;-))
0
jean-michel.basset Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   1
 
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
 
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
fredh
 
SAlut peut mettre pour les forumeur interesser ton inputBox en batch ?

Merci et @ +
0
BASSET JM
 
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
fredh
 
Super merci beaucoup
0
BASSET Jean-Michel > fredh
 
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   Statut Membre Dernière intervention   > fredh
 
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