Bonjour,
J'ai creer un petit script en batch que j'avais fait en bash. Cependant celui-ci ne marche pas. Il me semble etre tres pres du but.. il y a t-il une personne qui sache la reponse?
merci.
voila le script:
@echo off
set /p nombre_entre_par_user=Quel est le nombre mystere ?
set variable=%random%
if /I (%nombre_entre_par_user%)LSS(%random%)(goto :A)
if /I (%nombre_entre_par_user%)GTR(%random%)(goto :B)
if /I (%nombre_entre_par_user%)EQU(%random%)(goto :C)
:A
echo "Le nombre mystere est plus grand."
:B
echo "Le nombre mystere est plus petit."
:C
echo "Vous avez trouver le nombre mystere."
echo.
pause



Dans le cas contraire pour une erreur de syntaxe, ou si le ou les deux répertoires sont inexistants, tu auras un arrêt de l'exécution du batch accompagné d'un message d'anomalie du type :
Syntaxe du nom de fichier, de répertoire ou de volume incorrecte.
Je ne vois pas d'autres cas d'anomalie possibles, hormis peut-être un manque de place sur le disque cible, mais là aussi tu aura s un message d'anomalie.
De toutes manières ce n'est pas en multipliant les tentatives (dans une même exécution d'un batch) que tu règleras ces types de problèmes.
Malgré cela, pour répondre à ton attente, je te propose cette cinématique de fonctionnement qui présume de la non existance des répertoires source et/ou cible en gardant à l'esprit que les 3 tentatives ne serviront à rien si l'un ou les deux répertoires sont inconnus:
CLS
ECHO OFF
set /A essai = 1
:copie_fichiers
IF EXIST "C:\etats\*.txt" (
IF EXIST "D:\etats" (
rem Documentation sur la commande COPY: HELP COPY sous l'invite de commandes.
copy /V /-Y C:\etats\*.txt" /A "D:\etats" /A
GOTO :EOF ) )
IF %essai% LEQ 3 (
echo Trace pour tests: ESSAI No. %essai%
pause
set /A essai = %essai% + 1
goto copie_fichiers
)
) ELSE (
goto pb_copie_fichiers
)
:pb_copie_fichiers
echo probleme!
goto :EOF