Probleme pour un batch

Résolu/Fermé
Franzine - 27 août 2007 à 00:02
 Franzine - 27 août 2007 à 00:34
Bonjour a tous. voila je viens vous demander un pti coup de main. Voici un pti sript pour un batch ... je sais c est un peu gros comme script mais bon c est un crocis ...

:menu
cls
@echo off
echo Sauvegarde et restauration
echo.
echo ********************************************************************************
echo.
echo Cet Utilitaire va vous permettre de realiser une sauvegarde des fichiers utiles sur votre ordinateurs comme les fichiers de votre boite mail Outlook, les favoris et les Cookies.
echo.
echo suivez les instructions ...
echo.
echo Si vous souhaitez faire une sauvegarde sur une disquette tapez "d" Puis "enter"
echo.
echo Si Vous souhaitez faire une sauvegarde sur une partition tapez "p" Puis "enter"
echo.
set /p choix=
if %choix%==p goto partition
if %choix%==d goto disquette
if %choix%==P goto partition
if %choix%==D goto disquette


:partition
echo.
echo creation des dossier de sauvegarde
mkdir D:\save
mkdir D:\save\Outlook1
mkdir D:\save\Outlook2
mkdir D:\save\Favoris
mkdir D:\save\Cookies
echo.
echo Un dossier Save vient d'etre cree sur la partition "D" de votre ordinateur. Vous y retrouverez les sauvegardes.

:tout
:Outlook
xcopy "%USERprofile%\Local Settings\Application Data\Microsoft\Outlook\*.*" I:\Files\Document's\Save\Outlook2\ /E /S /H
xcopy "%APPDATA%\Microsoft\Outlook\*.*" I:\Files\Document's\Save\Outlook\ /E /S /H

:Favoris
xcopy "%USERprofile%\Favoris\*.*" I:\Files\Document's\Save\Favoris\ /E /S

:Cookies
xcopy "%USERprofile%\Cookies\*.txt" I:\Files\Document's\Save\Cookies\ /E /S
goto fin

:disquette

cls
echo.
echo.
echo Veuillez inserer une disquette vierge dans le lecteur, et verifiez qu'elle ne soit pas verouillee.
echo.
echo Quand la disquette est dans le lecteur appuyez sur "enter"
echo.
pause
echo.
echo formatage de la disquette...
format A:
echo creation des dossier de sauvegarde...
mkdir A:\save
mkdir A:\save\Outlook1
mkdir A:\save\Outlook2
mkdir A:\save\Favoris
mkdir A:\save\Cookies
echo.
echo Un dossier "Save" vient d'etre cree sur la disquette. Vous y retrouverez les sauvegardes.
echo.
pause
goto sel

:debut
echo.
echo La sauvegarde c'est executee avec succes.
echo.
echo Pour quitter tapez "fin"
echo.
echo Pour retourner au menu principal tapez "menu"
echo.
set /p choix=
if %choix%==menu goto menu
if %choix%==fin goto Fin

:sel
cls
echo.
echo Si vous souhaitez faire une sauvegarde de Outlook: Tapez 1
echo Si Vous souhaitez faire une sauvegarde des Favoris: Tapez 2
echo Si Vous souhaitez faire une sauvegarde des Cookies: Tapez 3
echo Si Vous souhaitez faire une sauvegarde des trois: Tapez 4
echo.
set /p choix=
if %choix%==1 goto Outlook
if %choix%==2 goto Favoris
if %choix%==3 goto Cookies
if %choix%==4 goto tout

:tout

:Outlook
xcopy "%USERprofile%\Local Settings\Application Data\Microsoft\Outlook\*.*" A:\save\Outlook2\ /E /S /H
xcopy "%APPDATA%\Microsoft\Outlook\*.*" A:\save\Save\Outlook1\ /E /S /H
goto debut

:Favoris
xcopy "%USERprofile%\Favoris\*.*" A:\save\Favoris\ /E /S
goto debut

:Cookies
xcopy "%USERprofile%\Cookies\*.txt" A:\save\Cookies\ /E /S
goto debut

:Fin
cls
echo.
echo Merci d'avoir utilise ce programme.
echo.
echo By Francois gilles.
echo.
pause
exit


et alors le petit probleme c est au nivau des selection ...

set /p choix=
if %choix%==1 goto Outlook
if %choix%==2 goto Favoris
if %choix%==3 goto Cookies
if %choix%==4 goto tout

Le truc c est que je sible certain caractere comme ici le 1 le 2 le 3 et le 4 ... ok si je rentre un des 4 il execute le script qui se rapporte a ce caractere la mais si je met par exemple pour ici ... "A" ben il le prend quand meme .... et execute le premier script qui suit.

donc ce que je voudrais c est pouvoir integrer un script qui reconnait la faute et demande de remertre un caractere valide ...

c est possible ???


merci d avance .

2 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
27 août 2007 à 00:15
tu pourrais pas faire un truc du style :

:sel
cls
echo.
echo Si vous souhaitez faire une sauvegarde de Outlook: Tapez 1
echo Si Vous souhaitez faire une sauvegarde des Favoris: Tapez 2
echo Si Vous souhaitez faire une sauvegarde des Cookies: Tapez 3
echo Si Vous souhaitez faire une sauvegarde des trois: Tapez 4
echo.
set /p choix=
if %choix%==1 goto Outlook
if %choix%==2 goto Favoris
if %choix%==3 goto Cookies
if %choix%==4 goto tout
else goto erreur


:erreur
cls
echo Veuillez entrer un chiffre entre 1 et 4
set /p choix=
if %choix%==1 goto Outlook
if %choix%==2 goto Favoris
if %choix%==3 goto Cookies
if %choix%==4 goto tout
else goto erreur
0
c bon ca ... alz . merci a toi .
0