2 Prac Shell - Windows - Chacon J

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Programación Shell. Windows .

1. Introducción

Para afianzar tus conocimientos de programación Shell bajo un entorno


Windows te propongo una serie de ejercicios en los que tendrás que
combinar todo lo aprendido.

2. Objetivos

1. Reforzar tus conocimientos de programación Shell.

2. Interpretación de la ayuda de la Shell de comandos

3. Utilizar comandos básicos combinados con estructuras de control


de flujo e iteraciones.

3. Notas de ayuda

- Necesitamos:

- Equipo con sistema Windows.


- Apuntes de clase.

- Recuerda:

- Para obtener ayuda específica de un comando, usa el comando HELP


seguido del comando del que quieres ver la ayuda. También puedes
acceder a la ayuda escribiendo el comando seguido de /?
- También puedes acceder a la ayuda de Windows desde el botón
Inicio, Ayuda y Soporte Técnico.
- La sintaxis aparece en el orden en que debe escribir un comando y
los parámetros que lo siguen. Forman parte de la sintaxis los
símbolos:
- [] indica opcionalidad.
- | indica exclusión.

1 de 6
Programación Shell. Windows .

4. Documentos a entregar

Un documento con el nombre “2 Prac shell Windows_tu apellidoynombre”


con las soluciones de cada uno de los ejercicios propuestos.

5. Enunciados de los ejercicios a resolver:

1. Script que muestre por pantalla la hora y la fecha actual,


sin darnos opción a cambiarla.

@echo off

echo La fecha y hora actual son: %DATE% %TIME%

2. Script que acepte como parámetro el nombre de un fichero y


mostrará por pantalla los directorios donde dicho fichero
exista en el volumen C:.

@echo off

if "%1"=="" (

echo Uso: %0 ^<nombre_fichero^>

) else (

dir /s /b /a-d C:\%1

3. En muchas ocasiones, cuando un usuario recibe una aplicación


desconocida, se ve obligado a buscar el fichero ejecutable.
Crea un script que busque todos los ficheros ejecutables
(COM, EXE, CMD o BAT) del directorio actual y los visualice
en pantalla ORDENADOS por nombre.

@echo off

dir /b /a-d *.com *.exe *.cmd *.bat | sort

4. Crea una variante del ejercicio 3 en el que los ficheros


ejecutables salgan ordenados por la extensión.

@echo off

dir /b /a-d *.com *.exe *.cmd *.bat | sort /+9

5. Script que acepte como parámetro un nombre de fichero, si


existe lo copie al directorio CUBO_BASURA que cuelga de la
raíz y lo borre del directorio actual. Si el directorio
CUBO_BASURA no existe, hay que crearlo. Si el fichero pasado
como parámetro no existe, se mostrará un mensaje para
indicarlo.

@echo off

if "%1"=="" (

echo Uso: %0 ^<nombre_fichero^>

2 de 6
Programación Shell. Windows .

) else (

if not exist "CUBO_BASURA" mkdir "CUBO_BASURA"

copy "%1" "CUBO_BASURA"

del "%1"

6. Script que acepte un parámetro. Compruebe si es un mes valido


y muestre por pantalla ‘HA INTRODUCIDO UN MES COMO PARAMETRO’
o ‘ESO NO ES UN MES RECONOCIDO’ según el caso.

@echo off

For %%a in

(ENERO,FEBRERO,MARZO,ABRIL,MAYO,JUNIIO,AGOSTO,SEPTIEMBRE,OCTU
BRE,NOVIEMBRE,DICIEMBRE)do if%1==%%a goto a

echo ESO NO ES UN MES RECONOCIDO

goto fin

:a

echo ha introducidomun mes como parámetro

:fin

7. Script que acepta como parámetro un nombre de usuario. Debe


comprobar si el nombre de usuario es igual al nombre de
usuario del sistema. En caso de ser iguales, dirá por
pantalla ACCESO CONCEDIDO. Si no coinciden los nombres, por
pantalla saldrá el mensaje ACCESO DENEGADO una vez detrás de
otra, metiéndose en un bucle sin salida.

@echo off

if "%1"=="" (

echo Uso: %0 ^<nombre_usuario^>

) else (

set "nombre_sistema=%USERNAME%"

if /i "%1"=="%nombre_sistema%" (

echo ACCESO CONCEDIDO

) else (

:bucle

echo ACCESO DENEGADO

goto bucle

3 de 6
Programación Shell. Windows .

Solución:

@echo off

If%USERNAME%==%1(echo ACCESO CONCEDIDO

Goto fin)

:a

Echo ACCESO DENEGAGO

Goto a

:fin

8. Script que acepte tres parámetros, que deberán ser tres


números entre el 1 y el 99. Posteriormente el proceso
indicará por pantalla: EL NUMERO MAYOR ES y aparecerá el
mayor de los tres números introducidos.

@echo off

if "%1"=="" (

echo Uso: %0 ^<num1^> ^<num2^> ^<num3^>

) else (

set /a mayor=%1

if %2 gtr %mayor% set /a mayor=%2

if %3 gtr %mayor% set /a mayor=%3

echo EL NUMERO MAYOR ES %mayor%

9. Script que acepte diez parámetros, que deberán ser números


entre el 1 y el 99. El proceso indicará por pantalla: EL
NUMERO MENOR ES y aparecerá el menor de los 10 números
introducidos.

@echo off

if "%1"=="" (

echo Uso: %0 ^<num1^> ^<num2^> ... ^<num10^>

) else (

setlocal enabledelayedexpansion

set /a min=99

for %%i in (%*) do (

if %%i lss !min! set /a min=%%i

echo EL NUMERO MENOR ES !min!

4 de 6
Programación Shell. Windows .

endlocal

10. Script llamado socorro, que puede recibir cualquier número de


parámetros. Cada parámetro se entenderá que se corresponde
con algún comando de MS-DOS del que el usuario quiere obtener
ayuda. Por tanto, habrá que mostrar la ayuda de forma
paginada de todos los parámetros introducidos.
En caso de que no se introduzca ningún parámetro, se debe
mostrar un mensaje de error: “ERROR. Debes introducir uno o
más parámetros”.

@echo off

if "%1"=="" (

echo ERROR. Debes introducir uno o más parámetros

) else (

for %%i in (%*) do (

echo Ayuda para el comando: %%i

echo. & %%i /?

echo ---------------------------

11. Script llamado conectividad que compruebe si la pila de


protocolos TCP/IP está bien instalada y si hay conectividad
con el exterior y muestre los mensajes adecuados.

@echo off

ping google.com

if %errorlevel% equ 0 (

echo Conectividad con el exterior: EXITOSA

) else (

echo Conectividad con el exterior: FALLIDA

12. Script que muestre el menú:


1 Sumar

2 Restar
3 Multiplicar
4 Dividir
Pida dos números y muestre el resultado de la operación elegida
entre los dos números introducidos.

@echo off

5 de 6
Programación Shell. Windows .

set /p num1=Ingrese el primer número:

set /p num2=Ingrese el segundo número:

set /p operacion=Ingrese la operación (1=Sumar, 2=Restar,


3=Multiplicar, 4=Dividir):

if "%operacion%"=="1" (

set /a resultado=num1+num2

echo El resultado de la suma es: %resultado%

) else if "%operacion%"=="2" (

set /a resultado=num1-num2

echo El resultado de la resta es: %resultado%

) else if "%operacion%"=="3" (

set /a resultado=num1*num2

echo El resultado de la multiplicación es: %resultado%

) else if "%operacion%"=="4" (

set /a resultado=num1/num2

echo El resultado de la división es: %resultado%

) else (

echo Operación no válida

13. Script para apagar el equipo desde la consola, mostrando un


mensaje y pidiendo los segundos que faltan para apagarlo.
Utiliza el comando shutdown

@echo off

set /p segundos=Ingrese los segundos para apagar el equipo:

shutdown /s /t %segundos% /c "Apagando el equipo en %segundos


% segundos"

6 de 6

También podría gustarte