Tutorial para crear archivos batch en Windows

Thanks to: http://norfipc.com/


Manual sobre la creación y edición de los archivos batch. Aprender a hacer nuestras propias aplicaciones copiando y pegando el código en el Bloc de notas. Guía paso por paso, ejemplos prácticos, reglas y trucos.
Sencillo manual en el que se explica de forma detallada los principios elementales, para crear las aplicaciones ejecutables conocidas popularmente como archivos BATCH o BAT.
Introducción al mundo de la programación batch, uso de los comandos más comunes de la consola de CMD, para crear aplicaciones que se pueden usar en Windows para infinidad de tareas prácticas.
Como crear un archivo batch paso a paso.
Ejemplos prácticos para copiar y pegar el código, consejos y trucos.
Precauciones a tener en cuenta.
Herramientas para descargar que facilitan la creación de estas aplicaciones y probarlas correctamente. 

¿Que son los archivos batch?


Los archivos batch, también conocidos popularmente como archivos BAT, son aplicaciones ejecutables.
Son simplemente pequeños archivo de texto plano, que contienen códigos o instrucciones escritos en el lenguaje de MSDOS, estos códigos son lo que se conoce como comandos.
Estos archivos son guardados con la extensión de archivo .bat o .cmd. Al ejecutarse alguno de ellos (dar dos clics), Windows automáticamente inicia la consola o interprete de comandos de MSDOS y ejecuta las instrucciones o códigos que contienen en grupo, de forma secuencial.
La consola de CMD, también conocida como Símbolo del sistema, intérprete de comandos o consola de MSDOS, durante muchos años fue el medio de comunicación o intérprete entre la máquina y el usuario.
En los años 80 para utilizar una PC era necesario ser informático, lo que limitaba el uso de estos equipos a un grupo reducido de personas. Al surgir el primer sistema operativo Windows, este incluye una interface entre el usuario y la computadora, que permite que un clic u otra acción del usuario, se conviertan en una secuencia de comandos.
Con el paso del tiempo lógicamente, disminuye el uso de la consola de CMD pero se mantiene completamente vigente el empleo de los comandos en las aplicaciones batch.
Cualquier usuario, aun con pocos conocimientos, puede crear tus propios archivos batch para facilitar la ejecución de varias tareas en Windows.
El propósito de este artículo es estimular y facilitar el uso de estas aplicaciones. 


Uso y empleo de los archivos batch en Windows


El principal uso de estos archivos en la actualidad, es la de realizar tareas sencillas pero tediosas y repetitivas, de acuerdo a la labor en que usemos cada uno nuestra PC y así evitar la instalación de software de terceros, que a la larga harán la misma función, que un archivo batch creado con un simple archivo de texto.
Los archivos batch son ideales para varias funciones, por ejemplo hacer copias, extraer y listar información, eliminar virus, planificar tareas, ejecutar limpiezas en el sistema, hacer respaldos de datos e información, automatizar descargas de internet, en fin infinidad de aplicaciones. 
¿Cómo crear un archivo batch en Windows?

Para crear un archivo batch solo es necesario un editor de texto plano, que puede ser el Notepad++ (recomendado) o hasta el simple Bloc de notas de Windows.
Notepad++ lo puedes descargar gratis de sourceforge.net, resalta con colores diferentes la sintaxis, lo que permite percatarse fácilmente de cualquier error en el código empleado.
No es necesario conocimientos de informática, solo comprender simples reglas que verás más abajo y familiarizarse con algunos de los comandos más empleados.
La estructura de un archivo batch es sencilla:
• Una primera línea: @ECHO OFF (no es imprescindible para que funcione)
• Las instrucciones que pueden constar de una simple línea o de varias, todas se irán ejecutando en su orden.
• Al final generalmente se emplea EXIT o EOF que cierra la ventana de la consola.
Al hacer tus primeros batch siempre emplea PAUSE después de las instrucciones, su uso como la palabra indica, pausa y permite ver mensajes de error, en caso de que exista alguno, de otra forma la consola se cerrará y será imposible conocer lo que lo ha causado.

La estructura de un archivo batch



Herramientas y configuración del sistema para la creación y edición de archivos batch
Antes de empezar con este pequeño tutorial debes de crear todas las condiciones en tu sistema para facilitar la edición, prueba y creación de los archivos batch, para eso te sugiero:

1- Crear el menú derecho de tu ratón la posibilidad de abrir una ventana de CMD en cualquier directorio en que te encuentres situado, para eso descarga y ejecuta la siguiente clave del registro.
Script para acceder a la Consola de CMD Descarga clave para crear boton en el menu contextual para acceder a la Consola de CMD
2- Crea la posibilidad de crear plantillas de archivos batch con la opción Nuevo del menú contextual, para hacerlo descarga y ejecuta la siguiente clave del registro.
Scripts para crear Nuevo archivo REG y Nuevo archivo CMD Descarga clave para crear Nuevo archivo CMD con el clic derecho del mouse

Otra opción es copiar y pegar el siguiente código en Ejecutar (WIN+R):
cmd.exe /c echo @echo off>%userprofile%\Desktop\muestra.cmd
te creará una pequeña plantilla en tu escritorio, para utilizarla arrástrala al Bloc de Notas, introduce el comando a ejecutar y guarda los cambios mediante CRL+G, sin cerrar el Bloc de notas, prueba el batch.
3- Activa en tu consola de CMD la opción de edición rápida, que te permitirá copiar y pegar texto desde y hacia la consola, si no sabes hacerlo manualmente descarga y ejecuta la siguiente clave del registro.
Descargar script del registro para habilitar la Edición rápida en la consola de cmd Descarga clave para habilitar la Edición rápida en la consola de cmd
4- Auxíliate de la siguiente lista de comandos, contiene solo los más utilizados y de uso más general. Abre la página que la contiene en el siguiente vínculo, puedes dejar abierta la ventana y seguir interactuando con tu navegador.
Lista de comandos mas utilizados en la consola de CMD Lista de los comandos de la consola de CMD de Windows para móviles y celulares

Crear un archivo batch, método paso por paso


• Comenzaremos creando un Simple y clásico "Hola Mundo", escribiendo en tu plantilla el siguiente código:
@echo off
echo Hola Mundo
pause
exit
• Guardamos el archivo como nombre.cmd y lo ejecutamos, el archivo tomará el icono de una rueda dentada y nos aparecerá una pantalla negra que dirá "Hola Mundo", luego una línea abajo mostrará "Presione una tecla para continuar"
La explicación:
echo
Muestra un texto en pantalla, que es el texto que viene después, en este caso es:Hola Mundo.

pause
Como bien se lee, pausa la ejecución del código. Además muestra el texto:"Presione una tecla para continuar".

exit
Cierra la ventana de comandos.

Funciones de algunos comandos


CD o CHDIR:
Sirve para cambiar de Directorio o mostrar el nombre del actual. Para usarlo, usa CD oCHDIR seguido de la ubicación del directorio al cual nos moveremos.Por ejemplo:
CD C:\
CHDIR C:\
Los ejemplos anteriores hacen exactamente lo mismo, cambian al Disco C

COPY:
Copia uno o más archivos a otro destino.
Su sintaxis es la siguiente:
COPY "Dirección del archivo" "Nueva dirección"
Por ejemplo:
Copy C:\archivo.txt C:\archivo2.txt
Aquí copiaríamos un archivo del Disco C llamado archivo.txt como archivo2.txt, para acortar un poco podríamos usar:
CD  Copy archivo.txt archivo2.txt
Donde primero cambiamos de directorio al Disco C con CD C:\ y luego al copiar no tenemos que especificar que el archivo está en el Disco C, ya que ya nos encontramos en él.

DEL:
Elimina uno o más archivos, su sintaxis es:
DEL ARCHIVO
También se puede usar con los siguientes parámetros:
DEL /F /Q archivo
Donde /Q logra que la consola no pida la confirmación de eliminar el archivo y /Fpermite eliminar archivos que poseen el atributo de solo lectura

MOVE:
Sirve para mover un archivo. Su sintaxis es:
Move Dirección Archivo Nueva Dirección

CLS:
Sirve para limpiar el contenido de la pantalla.
Por ejemplo:
@echo off
ECHO Hola, Cuando pulses una tecla se borrará el contenido y cambiará por otro.
PAUSE
CLS
ECHO ¿Ves?
pause
exit
Si quisiéramos averiguar más sobre las funciones, o conocer algunas nuevas por nuestra propia cuenta podemos escribir en el CMD el nombre del comando seguido de/? y aparecerá toda la información necesaria.

Ejemplos prácticos de archivos batch


Con el siguiente código podemos crear un archivo batch que copie un archivo, luego lo mueva a otro directorio, borre el original y vuelva a copiar el copiado.
En la carpeta donde crearás el archivo batch, crea un archivo de texto llamadocopiame.txt. En él, escribe lo que quieras. Este será el archivo que copiaremos.
Código:
@echo off
echo Hola, Copiaremos un archivo
pause
COPY copiame.txt copiado.txt
MOVE copiado.txt C:\copiado.txt
DEL copiame.txt
CD C:\
COPY copiado.txt copiado2.txt
EXIT
Guárdalo en la carpeta como prueba.cmd, y ejecútalo. Después, si vamos al Disco C, veremos que hay dos nuevos archivos de texto, uno llamado: copiado.txt y otro:copiado2.txt.
También si vamos a la carpeta del batch, comprobaremos que no está el archivo de texto original, copiame.txt.

Creación de nuevos archivos:


Usando archivos batch podemos crear otros archivos diferentes, para eso podemos usar algo como lo siguiente:
echo TEXTO DE PRIMERA LINEA > nombre.extensión
echo TEXTO SEGUNDA LINEA >> nombre.extensión
echo TEXTO SIGUIENTE LINEA >> nombre.extensión
Al escribir ECHO seguido de un texto y el signo > creamos un archivo con el nombre que siga.
Si ocupamos un ECHO seguido de un texto y el doble signo >> se escribirá en la siguiente linea vacía del archivo que prosiga.
Hagamos la prueba:
echo Creando un Archivo de texto > nuevo.txt
echo Esta es la Segunda linea >> nuevo.txt
echo Y esta es la Siguiente >> nuevo.txt
echo Esto esta genial >> nuevo.txt
Aj ejecutarlo, la pantalla negra se abrirá y cerrará, pero en la carpeta en la que está nuestro batch, se habrá creado un nuevo archivo nuevo.txt que si lo abrimos, dentro tendrá escrito lo que especificamos anteriormente.
Además se puede jugar con los caracteres. Un ejemplo, donde se cambiaron los colores, los caracteres y el pause:
imagen de la ventana de msdos

El código empleado es el siguiente:
@echo off
color 30
echo ==================================
echo = =
echo = Personalizado =
echo = =
echo ==================================
echo.
echo.
echo Para salir presiona una tecla.
pause>nul
exit
Vale mencionar que ECHO, seguido de un punto, sirve para saltarse una línea.

Usar variables en los archivos batch


Las variables son muy importantes y prácticas en los archivos batch, aprende como crearlas.
SET NOMBREVARIABLE = VALOR
Para escribir una variable creada anteriormente, debemos escribir su nombre entre los signos %%
Por ejemplo:
@echo off
set Nombre = Norfi Carrodeguas
echo %Nombre%
pause
En el caso anterior primero creamos la variable llamada Nombre y le dimos un valor, posteriormente la escribimos.
También podemos crear variables dinámicas y dar la opción que el usuario la defina, se hace de la siguiente forma:
@echo off
SET /P Nombre = Escriba su Nombre:
En este caso al ejecutar el archivo batch, solo se mostrará en la consola el mensaje: "Escriba su Nombre:"
Al usuario ingresar los caracteres que decida y oprimir la tecla Enter, el batch ejecutará la acción contenida en el código, usando como valor de la variable el texto que el usuario ingresó.

Realizar operaciones matemáticas con archivos batch


Mediante archivos batch también podemos realizar operaciones como multiplicar, sumar, dividir, etc. usando el modificador /A, por ejemplo de la siguiente forma hacemos la operación: 2 + 43 = 45.
SET numero1 = 2
SET numero2 = 43
SET /A suma = %numero1% + %numero2%
echo %suma%
pause
exit
Usando el modificador /A, lo que quede a la derecha del signo igual (=). se consideran expresiones numéricas a evaluar. Su pueden usar los siguientes caracteres como operadores matemáticos:
+ - * / %


Consejos y tips para la creación y uso de los archivos batch



➔ Para comentar, es decir escribir comentarios dentro del código de tus batch, antepone REM al comienzo de la línea, esta no será interpretada por la consola.
También es posible utilizar dos puntos dobles "::"(sin las comillas).

➔ Cuando al ejecutar un batch, este se cierre y te quedas con la duda de lo que sucedió, agrega PAUSEantes del final del código, lo que te permitirá saber si hay algún error, también puedes insertar varios en diferentes líneas, e ir ejecutándolo por partes.
Al igual que PAUSE puedes utilizar PAUSE>NUL, entonces no se mostrará el famoso mensaje "Presione una tecla para continuar…." 

Como usar redireccionadores en los archivos batch


➔ Puedes combinar varios comandos en un archivo batch intercalando el signo |, esto indica que se ejecutará el segundo comando utilizando el resultado del primero, un ejemplo es:
ipconfig|FINDSTR /C:"Máscara de subred"
Esta línea abre IPCONFIG y a continuación busca la cadena Mascara de subred y si existe muestra el resultado.
➔ Si empleas dos barras el segundo comando se ejecutará solo si el primero falla, por ejemplo:
COPY D:\NOEXISTE C:\ || ECHO No se pudo copiar el archivo

➔ Para redireccionar un primer comando a un segundo, intercala un amspersand entre ambos, pero si usas dos caracteres estas condicionando la ejecución del segundo al éxito del primero, es como insertar la frase "Si es así, entonces", por ejemplo:
START calc.exe && ECHO La calculadora se inicio con éxito.

➔ Para direccionar el resultado de un comando a un archivo de texto utiliza:
Comando > archivo.txt
➔ Si deseas seguir agregando datos al mismo archivo creado utilizando otro comando utiliza:
Comando2 >> archivo.txt
➔ Para pasar el contenido de un archivo de texto a un comando usa:
Comando < archivo.txt
➔ Para mostrar un archivo de texto en pantalla usa:
TYPE texto.txt

Algunos ejemplos, se explican solos:
DIR C:\ >Lista_de_C.txt & DIR D:\ >Lista_de_D.txt
FIND /i "Alberto" < texto.txt > resultado.txt
MEM /C >> MemLog.txt
DATE /T >> MemLog.txt
TYPE texto.txt > texto.html

➔ Donde quiera que haya una cadena que tenga espacios tienes que utilizar las comillas, en las rutas a los archivos también es recomendado utilizarlas.

➔ Cuando la ruta a un archivo determinado es muy complicada, lo más fácil es dar clic en las Propiedades del archivo y copiar la ruta que allí aparece.
También para eso puedes instalar una clave del registro que agrega al menú contextual del mouse la facilidad de que al hacer clic en un archivo del explorador y seleccionar "Copiar Ruta" puedes pegarla en tu batch.
◄ Agregar en el menú contextual la opción de Copiar la ruta del archivo o carpeta

➔ Para crear un mensaje en un batch, es decir una ventana que muestra una indicación o comentario al usuario, escribe en el batch lo siguiente:
MSG * Este Es Mi Mensaje.

➔ Para que se muestre en el batch la fecha y la hora utiliza las variables DATE y TIME de la siguiente forma:
@echo off
echo Fecha:%date%
echo Hora:%time%

➔ Para detener un proceso o programa determinado averigua su nombre o identidad exacta en el Administrador de tares y utiliza:
taskkill /im /f programaespecifico.exe
taskkill /f /im wmplayer.exe
taskkill /f /im explorer.exe
En el caso del explorer se utiliza mucho para poder solucionar los bloqueos del explorador de Windows, al cerrarse el explorador para iniciarlo abre el administrador de tareas, selecciona Nueva tarea y escribe:
Start explorer.exe

➔ Para ejecutar los comandos no siempre es necesario abrir la consola, puedes ejecutarlos introduciéndolos directamente en el cuadro que se encuentra en Inicio, solo anteponiendo CMD o CMD.EXE de las siguientes dos formas:
Introduce CMD /K comando+ opción y oprime Enter. 
Se ejecutará el comando con la opción y dejara abierta la ventana de cmd.
Introduce CMD /C comando+ opción y oprime Enter.
Se ejecutará el comando con la opción y cerrará la ventana de cmd al terminar.
Dos sencillos ejemplos:
CMD /K IPCONFIG /ALL
CMD /C START http://google.com

Ojala que este artículo le haya interesado y le haya servido de alguna ayuda y estímulo para introducirse en este mundo tan interesante y práctico.
Existen muchas otras opciones, es posible hacer que la consola muestre un aspecto (tamaño, color del texto, color del fondo, etc.) diferente al ejecutarse cada archivo batch, es posible que se ejecuten de forma oculta (sin verse la ventana negra), es posible convertirlos en ejecutables (exe), etc.
En las páginas de este sitio encontrarás bastante contenido relacionado, así como muchos archivos para descargar.

Comentarios

Entradas populares de este blog

Guía de herramientas básicas para estudiantes: 31 apps y webs imprescindibles para ayudarte con los estudios

Comando FOR para archivos BAT

How to Setup and Configure Your Own GitLab Server on Ubuntu 20.04