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!