Form Windows et paramètre Batch

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

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

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

    Merci et @ +
    0
    1. 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
    2. fredh
       
      Super merci beaucoup
      0
      1. 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
      2. Fredheg Messages postés 1 Statut Membre > 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