Choix et emplacement de la variable

Résolu/Fermé
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 - Modifié par Ka-El le 7/04/2016 à 16:45
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 8 avril 2016 à 09:26
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

Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020
7 avril 2016 à 17:54
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
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
8 avril 2016 à 08:55
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
Ka-El Messages postés 260 Date d'inscription lundi 28 novembre 2011 Statut Membre Dernière intervention 7 août 2020 > dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024
8 avril 2016 à 09:09
Merveilleux !
Merci beaucoup Dubcek
Bonne journée ;-)
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
8 avril 2016 à 09:26
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