Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: EAMP14 en 4 Abril 2012, 22:01 pm



Título: [BATCH] Detectar primera ejecucion y guardar datos
Publicado por: EAMP14 en 4 Abril 2012, 22:01 pm
Hola que tal a todos, ésta es mi primera vez aqui en este foro, el asunto es el siguiente, despues de leer manuales y todo eso, aun no encuentro la manera de hacer lo siguiente:

Lo que trato de hacer es algo parecido a un Login, donde te pida solo el nombre de usuario para poder ingresar, pero al ser la primera vez de ejecutarlo me muestre un mensaje

Citar
"Esta es la primera vez que utilizas X script. Tienes que establecer un nombre de usuario"

Despues de mostrar el mensaje ir a un SET /P para que el usuario pueda establecer un nombre, pero que ese dato ingresado (el nombre) se quede guardado para la proxima sesion.

esto es lo que tengo.

Código
  1. @echo off
  2. TITLE PassADM
  3. COLOR 0A
  4.  
  5. echo :: Bienvenido a PassADM ::
  6. echo.
  7.  
  8. SET /P nameuser= Usuario:
  9. echo %nameuser% > C:\Users\PassAdmi.txt
  10. CD C:\Users\PassAdmi.txt
  11.  

Como veran no es mucho. Mi idea es la siguiente:
Despues de establecer el nombre de usuario, éste se guarde en un .txt para luego llamar a ese .txt y con IF EXIST verificar si existe y continuar, si no existe que marque error.  No se si voy bien, si hay otra solución agradeceria me ayudaran. Saludos a todos los escritores.


Título: Re: [BATCH] Detectar primera ejecucion y guardar datos
Publicado por: Eleкtro en 5 Abril 2012, 10:26 am
Te hago un ejemplo:


Código
  1. @Echo OFF
  2. Title PassADM
  3. Color 0A
  4.  
  5. :Welcome
  6. Echo :: Bienvenido a PassADM :: | MORE
  7. For /F "Tokens=2 delims==" %%? IN ('Type %0 ^| Find ":USERLOGIN=" ^| Find /V "%%0"') DO (Echo Binvenido %%? & Goto :Program)
  8.  
  9. :Login
  10. Cls
  11. SET /P nameuser= Usuario:
  12. IF NOT defined nameuser (Goto :Login)
  13. Choice /M "Confirmar nombre de usuario"
  14. IF %Errorlevel% EQU 1 (Echo+ >>%0 & Echo :USERLOGIN=%Nameuser%>>%0) Else (Goto :Login)
  15.  
  16. :Program
  17. Echo Program test

Si lo quieres en un texto aparte, solo tienes que modificar el argumento %0

Salu2.


Título: Re: [BATCH] Detectar primera ejecucion y guardar datos
Publicado por: EAMP14 en 5 Abril 2012, 18:46 pm
Hehe, Creo que tendre que leer mucho mas. Gracias por la ayuda. Veo que el comando FOR amplia mucho el rango de cosas que puede hacer. Lo he visto muy complicado pero solo es cuestión de que practique con el, Gracias y Saludos.