Con los comandos ya presentados podemos hacer un montón de cosas. Ahora jugaré un poco con ellos e inventaré algunas cosas, ¡a ver que tal sale!
Lo primero que se me vino a la mente son los ejercicios que nos hacen en informática cuando empiezas con Java. Son unos calculos matemático muy básico y a medida que avanzaos se les agrega más complejidad.
Partiré con la suma y resta:
@Echo off
REM Lo primero que se debe hacer para sumar o restar es crear una o más variables
REM que guarden resultados o los dígitos a evaluar.
REM El comando Set tiene permitido guardar y evaluar números enteros, hexadecimales y octales.
Set numero_entero_1=128
Set numero_entero_2=896
REM Ahora necesitamos un comando que evalue y los sume.
REM En este mismo comando "Set" tenemos un modificador ("/A") que nos permite hacer eso.
REM Usaremos "Set /A" para realizar la evaluacón, pero la guardaremos en otra variable.
Set /A suma=%numero_entero_1% + %numero_entero_2%
Set /A resta=%numero_entero_1% - %numero_entero_2%
REM Ya tenemos la suma y resta de 128 y 896, pero necesitamos un comando que los saque por pantalla.
REM Aquí entra "Echo" y "Pause". Este último es para que la consola no se cierre luego de completar la acción.
Echo La suma de %numero_entero_1% y %numero_entero_2% es : %suma%
Echo. (Lo que hace "echo" aquí es un salto de línea, y solo poniendo un punto delante del comando lo hace)
Echo La resta de %numero_entero_1% y %numero_entero_2% es: %resta%
Pause
Para la multiplicación y división es lo mismo, pero encontramos una piedra de tope en la división ya que CMD trabaja sólo con números enteros.
@Echo off
REM Al igual que en el ejercicio anterior lo primero es crear las variables, pero esta vez harémos
REM que el usuario ingrese los números a evaluar usando el modificador "/P" en Set.
Set /P numero_entero_1=Ingresa el primero numero:
Set /P numero_entero_2=Ingresa el segundo numero:
REM Ahora los evaluamos usando "Set /A" nuevamente.
Set /A multiplicacion=%numero_entero_1% * %numero_entero_2%
Set /A division=%numero_entero_1% / %numero_entero_2%
REM Nuevamente usaremos "Echo" para sacar los resultados en pantalla.
Echo La multiplicacion de %numero_entero_1% y %numero_entero_2% es : %multiplicacion%
Echo.
Echo la division de %numero_entero_1% y %numero_entero_2% es : %division%
Pause
Nota: A causa de la limitación de CMD al dividir, éste sólo nos mostrará el valor entero.
Ejemplo: "1000 / 14 = 74,42" y la consola nos mostrará "1000 / 14 = 74"
Existen algunas formas de hacer que se muestren algunos decimales por ejemplos esta:
@Echo off
MODE con cols=46 lines=20
Title Division
:Inicio
Echo numero 1:
Set /P num1=
Set decimales=%num1%
Echo numero 2:
Set /P num2=
Set decimales2=%num2%
REM Desglosado
Echo.
Echo.
Set /A entero=%num1%/%num2%
Set /A decimales*=10000
Set /A decimales2*=100
Set /A decimal=%decimales%/%decimales2%
For /F "tokens=* delims=%entero%" %%a IN ("%decimal%") DO (
Set decimal2=%%a
)
Echo Entero=%entero%
Echo Decimal=%decimal2%
Echo.
Echo Resultado: %entero%,%decimal2%
Nota: Esta forma funciona sólo con numeros enteros positivos. Además solo puede ser la division de un número mayor por uno menos.
A base de esto se puede mejorar mucho el código. Simplemente lo que hace es "agrandar" los números para poder tener más dígitos positivos
y así poder trabajar con ellos pasándolos a decimales.
Otros ejercicios sin evaluaciones matemáticas podrían ser relacionados al mismo sistema operativo:
@Echo off & Title Buscador de objetos
Setlocal enabledelayedexpansioin
:Inicio
Cls
CD %userprofile%
For /D %%a IN (*) DO (Echo %%a)
Echo --------------------- Directorios disponibles---------------------
Echo.
Echo.
Echo Escriba el directorio que desee recorrer:
Set /P opcion=
CD %opcion%
If %errorlevel%==1 Goto Inicio
Echo.
Echo Escriba la extension de el(los) archivo(s) a buscar:
Set /P opcion2=
Echo.
Set count=0
For /R %%b IN (*.%opcion2%) DO (
Set encontrado=%%b
For /F "tokens=3-13 delims=\" %%c IN ("%%b") DO (
Set encontrados=%%c %%d %%f %%g %%h %%i %%j %%k %%l
)
Call:Funcion_1
)
Echo Total archivos encontrados:%count%
Pause
Goto Inicio
:Funcion_1
Echo Encontrado: %encontrados%
Set /A count=%count%+1
Ahora al revez, primero digo lo que el programa debe mostrar y luego doy el código que lo realiza.
-Programa que lea dos números ingresados por el usuario y muestre por pantalla el mayor de ambos.
-Programa que lea tres números ingresados por el usuario y muestre el menor de los tres.
-Programa que lea 5 números ingresados por el usuario y muestre los que son pares.
-Programa que muestra la tabla de multiplicar hasta 10 de un número ingresado por el usuario.
-Programa que muestre por pantalla el mensaje escrito por el usuario con la respectiva fecha y hora.
NOTA: Todo se puede realizar con los comandos básico ya mencionados.
¡Respuestas en el próximo post!