Advertisement
angeldp

condicionalesCmd01.cmd

Jun 3rd, 2015
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.39 KB | None | 0 0
  1. @echo off
  2. :: condicionalesCmd01.cmd
  3. :: angeldp
  4. :: Uso de la estructura condicional if en el cmd de Windows
  5.  
  6. :: El script verificará si existe un archivo de log
  7. :: y de no ser así lo creará. Luego pedirá una contraseña
  8. :: para seguir con la ejecución. Si se indica la correcta
  9. :: ofrecerá crear una entrada en el log, mostrar el contenido
  10. :: del archivo o salir del script.
  11.  
  12. REM Variables para uso en el script
  13. set LOG="%USERPROFILE%\miLOG.txt"
  14. set PASSWD=contrasena
  15. cls
  16. :: Para verificar si un archivo existe en el sistema
  17. if NOT EXIST %LOG% (
  18.     echo No se ha encontrado el fichero %LOG%,
  19.     echo se creará uno nuevo.
  20.     echo. > %LOG%
  21. )
  22. echo Indique la contraseña necesaria para ejecutar el script:
  23. set /p miPASS=
  24.  
  25. :: Condición para comparar cadenas de caracteres
  26. if NOT %PASSWD% == %miPASS% (
  27.     echo Contraseña errónea, acceso denegado
  28.     pause
  29.     goto:EOF
  30. )
  31. :: Condición para comprobar el ERRORLEVEL devuelto por una orden
  32. :: si la orden da error (no existe \users) es que el sistema
  33. :: es XP o Win2000; de los contrario es Windows Vista, 7 o posterior.
  34. :: Uso la variable SSOO para guardar el valor correspondiente.
  35. cd C:\USERS 2> NUL
  36. if ERRORLEVEL 1 (
  37.     set SSOO="XP"
  38. ) else (
  39.     set SSOO="W7"
  40. )
  41. REM Opciones disponibles:
  42. echo Pulse 1 para escribir una entrada en el log,
  43. echo Pulse 0 para finalizar el script sin tocar el log
  44. echo o pulse cualquier otro número positivo para ver el log
  45. echo.
  46. set /p OPCION=
  47. :: Comparación con números enteros
  48. :: Se pueden anidar if sin problemas
  49. if %OPCION% GTR 0 (
  50.     if %OPCION% EQU 1 (
  51.             echo ooo000OOO000ooo >> %LOG%
  52.             echo. >> %LOG%
  53.             date /t >> %LOG%
  54.             time /t >> %LOG%
  55.             echo. >> %LOG%
  56.             echo Último acceso autorizado al script: %USERNAME% >> %LOG%
  57.             echo Sistema operativo detectado: >> %LOG%
  58.             if %SSOO% == "XP" (
  59.                     echo Windows 2000 / XP o anterior >> %LOG%
  60.             ) else (
  61.                     echo Windows Vista / 7 o posterior >> %LOG%
  62.             )
  63.             echo. >> %LOG%
  64.             echo Se ha añadido una entrada a %LOG%
  65.             pause
  66.             goto:EOF
  67.     ) else (
  68.             echo Se muestra el log de accesos:
  69.             more %LOG%
  70.             pause
  71.             goto:EOF
  72.     )
  73. ) else (
  74.     echo Se ha pulsado la opción de salir. Adios.
  75.     pause
  76.     goto:EOF
  77. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement