Lot de Script SET /p sans valeur

La création d'un script de commandes dans Windows XP. Voici un extrait de code que je vais avoir des problèmes avec:

::==============================================================::
::How many scripts are included in this program?
SET NumOfScripts=4
::==============================================================::

:mainmenu
CLS
ECHO [MAIN MENU]
ECHO Please choose from the following options to run a particular script:
set /p choice="[1] SCRIPT1.bat | [2] SCRIPT2.bat | [3] SCRIPT3.bat | [4] SCRIPT4.bat  :  "

IF %choice% EQU 1 CALL :SCRIPT1
IF %choice% EQU 2 CALL :SCRIPT2
IF %choice% EQU 3 CALL :SCRIPT3
IF %choice% EQU 4 CALL :SCRIPT4

REM Wrong Choices
IF %choice% GTR %NumOfScripts% (
 (ECHO You have entered an invalid option. Please press any key to be taken back to the main menu.) & PAUSE & GOTO:mainmenu
)
IF %choice% LEQ 0 (
 (ECHO You have entered an invalid option. Please press any key to be taken back to the main menu.) & PAUSE & GOTO:mainmenu
)
ECHO You have entered an invalid option. Please press any key to be taken back to the main menu 
PAUSE & GOTO:mainmenu

Recherche dans le cadre de REM Wrong Choice, les deux premiers arguments fonctionnent comme ils le devraient, toutefois, si l'utilisateur entre dans aucune valeur (juste appuie sur la touche entrée), il se termine automatiquement le script. J'ai ajouté IF NOT DEFINED choice et qui ne fonctionne pas... j'ai aussi essayé IF [%choice%]==[] et IF [%choice%] EQU [] et ceux qui ne fonctionnent pas non plus.

Voici la drôle de chose... vous entrez dans une défaillance de chiffres, disons 5 ou -1, il va donner de l'écho et revenir au menu principal, comme il se doit... ALORS si vous appuyez simplement sur enter sans valeur ajoutée, elle se fera l'écho et revenir au menu principal comme il se doit.

Ma question est comment obtenez-vous de reconnaître que l'utilisateur n'a pas entrez une valeur pour définir /p sur la première de go?

  • Les deux réponses sont correctes, toutefois mizo la solution la plus sûre est de. C'est marrant que... tel un simple correctif, mais j'ai complètement oublié de lui =P
InformationsquelleAutor Mechaflash | 2011-09-13