Buenas, comunidad:
En mi script, estoy intentando que no pasen valores nulos, pero no logro llegar a ellos.
Les muestro mi código:
set /p nus= Ingrese el nombre del Usuario a cambiarle el password :
echo.
echo.
Set "nus=%nus:^"=%" & REM "
Net user "%NUS%" >nul 2>&1 || (Echo. El nombre de usuario ingresado no existe!!! | MORE & Set "Nus=" & Goto :cambiarpassword)
set /p pss= Ingrese Nueva Contrase¤a:
echo.
echo.
Set "pss=%pss:^"=%" & REM "
echo.
net user %nus% %pss%
echo.
pause
goto usuarios
Lo que no me resulta, es lo del "INGRESE NUEVA CONTRASEÑA: necesito frenar al usuario para que no ponga valores nulos (que me ataje al apretar ENTER en el batch)
Lo del ingrese el nombre de usuario me funciona sin problemas, pero no sé como darle atajo a los passwords en nulo.
Alguna ayudita, porfa!!!!!!
No puedes poner un condicional, y si la variable password es igual a "" (texto vacio) lanzarle un mensaje de error? :)
if not defined %password% goto menu. Creo que es asi.
Saludos ;D
Cita de: daniyo en 10 Junio 2012, 12:10 PM
if not defined %password% goto menu. Creo que es asi.
Saludos ;D
Verificamos si una variable no ha sido definida previamente.
if not defined variable () else ()
Solo hay que colocar el identificador de la variable, no acceder a su contenido.
Verificamos si la variable es una cadena vacía.
if "%variable%" EQU "" () else ()
Saludos.
Millón de gracias mis socitos!!!!
Me ha resultado de maravillas.
Hasta siempre!!!
Nos vemos!!!
Solo una pequeña anotación, Sobre esto que explicó Batchiano:
CitarVerificamos si una variable no ha sido definida previamente
if not defined variable () else ()
Verificamos si la variable es una cadena vacía.
if "%variable%" EQU "" () else ()
Si la variable es una cadena vacía, No es una variable definida, Por lo tanto solo es necesario verificar si se ha definido (if not defined...)
Ejemplo:
@Echo OFF
Set "var=asfasf"
Set "var="
if not defined VAR (Pause)
Saludos!.
Cita de: EleKtro H@cker en 11 Junio 2012, 01:18 AM
Solo una pequeña anotación, Sobre esto que explicó Batchiano:
Si la variable es una cadena vacía, No es una variable definida, Por lo tanto solo es necesario verificar si se ha definido (if not defined...)
Ejemplo:
@Echo OFF
Set "var=asfasf"
Set "var="
if not defined VAR (Pause)
Saludos!.
Ups, me colé! xD Creí que tenía un valor basura.
Mil gracias por todas las ayudas, pero...
Estaba pensando dejar eso del password sin condicionales, ya que, así el usuario puede setear un password vacío (apretar solamente enter) si es que se ha olvidado de su password antiguo y así dejarlo sin password.
Qué me dicen al respecto???
Cita de: VivaElPirateo en 13 Junio 2012, 07:12 AM
el usuario puede setear un password vacío (apretar solamente enter) si es que se ha olvidado de su password antiguo
Qué me dicen al respecto???
Está muy bien que pienses en todas las posibilidades y/o errores al hacer tu script...
Veo que tienes muchas dudas/problemas con los caracteres ilegales así que te voy a hacer una pequeña guía...
Si cualquiera de los siguientes caracteres NO están entre comillas en tus variables ( "caracter" ) darán problemas:
&
<
>
%
|
)
^
Para que no den problemas, Hay que escaparlos:
^
Ejemplo:
Echo ^&
Y en estos dos casos, Hay que repetir el caracter para mostrarlo:
%%
^^
Ejemplo:
Echo %%hola%%
Echo ^^hola^^
Estos caracteres son (No del todo) irreconocibles si habilitas la expansion y trabajas dentro de un FOR:
;
=
!
Creo que me he dejado alguno... xD Bienvenido a Batch.
saludos
Muy agradecido con tu respuesta, mi buen masta!!!