Choix et emplacement de la variable

Résolu
Ka-El Messages postés 279 Statut Membre -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je suis devant une problématique qui devrait être simple à résoudre (je crois).
je voudrais variabiliser le répertoire à contrôler selon le choix qui est opéré.
Voici le début de mon script :
echo Pour controler le contenu du dossier Z:\TOTO\RCV taper 1
echo Pour controler le contenu du dossier Z:\TATA\EMI taper 2
echo Pour sortir du programme taper "s"
echo.
set /p choix=Quel est votre choix:
if %choix%==1 goto TOTORCV
set rep=Z:\TOTO\RCV
if %choix%==2 goto TATAEMI
set rep=Z:\TATA\EMI
if %choix%==s goto EXIT

J'ai initialiser ma variable "rep" sous la ligne if %choix%, mais ça ne marche pas.
Avez-vous une idée comment procéder pour que la valeur de la variable "rep" change selon le choix effectué ?

En vous remerciant par avance.
Fred

1 réponse

  1. Ka-El Messages postés 279 Statut Membre
     
    je pensais avoir trouver la solution en tapant ceci:
    if %choix%==1 set rep=Z:\TOTO\RCV & goto TOTORCV

    Mais quand le script arrive sur "TOTORCV" :
    :TOTORCV
    @rem --- Déplacement des fichiers dans le répertoire d'envoi ---
    for /f %%b in ('dir %rep% /A /B /O:GEN') do (
    set fic=%%b
    for /F "delims=. tokens=5" %%c in ('echo %%b') do set appli=%%c
    move %rep%\*!appli! %rep2%\!fic!

    Il m'ajoute un blanc entre "Z:\TOTO\RCV" et "\*EXT" :
    move Z:\TOTO\RCV \*EXT \TOTO\reprise\reprise_fic

    Quelqu'un sait pourquoi je me retrouve avec cet espace ?
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      hello
      pas d'espace avant &
      if %choix%==1 set rep=Z:\TOTO\RCV& goto TOTORCV 

      ou utiliser des ()
      if %choix%==1 (
      set rep=Z:\TOTO\RCV
      goto TOTORCV
      )
      0
      1. Ka-El Messages postés 279 Statut Membre > dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Merveilleux !
        Merci beaucoup Dubcek
        Bonne journée ;-)
        0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
       
      exemple
      C:> set x=abcd  & date /t
      08/04/2016
      C:> echo +%x%+
      +abcd +
      C:> set x=
      C:> set x=abcd& date /t
      08/04/2016
      C:> echo +%x%+
      +abcd+
      0