Form Windows et paramètre Batch

Résolu
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

3 réponses

  1. Modérateur
    Salut,

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

    ;-))
    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
  2. 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.
    1. SAlut peut mettre pour les forumeur interesser ton inputBox en batch ?

      Merci et @ +
      1. 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
      2. Super merci beaucoup
      3. @fredhDe 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....
      4. @fredhBonjour

        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