Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- :: condicionalesCmd01.cmd
- :: angeldp
- :: Uso de la estructura condicional if en el cmd de Windows
- :: El script verificará si existe un archivo de log
- :: y de no ser así lo creará. Luego pedirá una contraseña
- :: para seguir con la ejecución. Si se indica la correcta
- :: ofrecerá crear una entrada en el log, mostrar el contenido
- :: del archivo o salir del script.
- REM Variables para uso en el script
- set LOG="%USERPROFILE%\miLOG.txt"
- set PASSWD=contrasena
- cls
- :: Para verificar si un archivo existe en el sistema
- if NOT EXIST %LOG% (
- echo No se ha encontrado el fichero %LOG%,
- echo se creará uno nuevo.
- echo. > %LOG%
- )
- echo Indique la contraseña necesaria para ejecutar el script:
- set /p miPASS=
- :: Condición para comparar cadenas de caracteres
- if NOT %PASSWD% == %miPASS% (
- echo Contraseña errónea, acceso denegado
- pause
- goto:EOF
- )
- :: Condición para comprobar el ERRORLEVEL devuelto por una orden
- :: si la orden da error (no existe \users) es que el sistema
- :: es XP o Win2000; de los contrario es Windows Vista, 7 o posterior.
- :: Uso la variable SSOO para guardar el valor correspondiente.
- cd C:\USERS 2> NUL
- if ERRORLEVEL 1 (
- set SSOO="XP"
- ) else (
- set SSOO="W7"
- )
- REM Opciones disponibles:
- echo Pulse 1 para escribir una entrada en el log,
- echo Pulse 0 para finalizar el script sin tocar el log
- echo o pulse cualquier otro número positivo para ver el log
- echo.
- set /p OPCION=
- :: Comparación con números enteros
- :: Se pueden anidar if sin problemas
- if %OPCION% GTR 0 (
- if %OPCION% EQU 1 (
- echo ooo000OOO000ooo >> %LOG%
- echo. >> %LOG%
- date /t >> %LOG%
- time /t >> %LOG%
- echo. >> %LOG%
- echo Último acceso autorizado al script: %USERNAME% >> %LOG%
- echo Sistema operativo detectado: >> %LOG%
- if %SSOO% == "XP" (
- echo Windows 2000 / XP o anterior >> %LOG%
- ) else (
- echo Windows Vista / 7 o posterior >> %LOG%
- )
- echo. >> %LOG%
- echo Se ha añadido una entrada a %LOG%
- pause
- goto:EOF
- ) else (
- echo Se muestra el log de accesos:
- more %LOG%
- pause
- goto:EOF
- )
- ) else (
- echo Se ha pulsado la opción de salir. Adios.
- pause
- goto:EOF
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement