2016-04-08 32 views
1

Bir şekilde kullanıcı girdisini doğrulamam gerekiyor, bu nedenle hata durumunda kullanıcı 2 kez doğru değere döndü. Enter tarafından da boş girişi önlemek için de harika olurdu.Kullanıcı girişi komut satırı nasıl doğrulanır?

MS Windows'ta bir toplu iş dosyasında yapmak mümkün mü?

@ECHO OFF 
set /p ip=IP Address: 
set /p mask=Network Mask: 
set /p gate=Port: 
timeout /t 3 
netsh interface ip set address "Local Area Connection" static %ip% %mask% %gate% 1 
ECHO Done 
timeout /t 3 
ipconfig 
timeout /t 3 
EXIT 

cevap

1
Böyle yaptığımız

...

@ECHO OFF 
color 17 
ECHO ---------------------------- 
ECHO Configuracion de IPs 
ECHO ---------------------------- 

:STARTINPUT 
set ip=NOTOK 
set mask=NOTOK 
set gate=NOTOK 
rem -------------------------------------------------------------------- 
set /p ip1=Direccion IP : 
set /p ip2=Verificar el Direccion IP : 
If %ip1%==%ip2% (
    ECHO Verificado: %ip1% 
    set ip=OK 
    GOTO MASKINPUT 
) else (
ECHO Direccion IP "%ip1%" no ha sido verificado!!! 
GOTO STARTINPUT 
) 
rem -------------------------------------------------------------------- 
:MASKINPUT 
set /p mask1=Mascara de red : 
set /p mask2=Verificar el mascara de red : 
If %mask1%==%mask2% (
    ECHO Verificado: %mask1% 
    set mask=OK 
    GOTO GATEINPUT 
) else (
     ECHO Mascara de red "%mask1%" no ha sido verificado!!! 
     GOTO MASKINPUT 
) 
rem -------------------------------------------------------------------- 
:GATEINPUT 
set /p gate1=Puerta de enlace: 
set /p gate2=Verificar el puerta de enlace: 
If %gate1%==%gate2% (
    ECHO Verificado: %gate1% 
    set gate=OK 

    rem timeout /t 3 
    ECHO Cambiando direcciones... 
    netsh interface ip set address "Local Area Connection" static %ip% %mask% %gate% 1 
    ECHO Completado 
    timeout /t 3 
    ipconfig 
    timeout /t 3 
    rem EXIT 

) else (
     ECHO Puerta "%gate1%" no ha sido verificado!!! 
     GOTO GATEINPUT 
)