Conocimientos y reglas elementales y necesarias para utilizar la consola de CMD de Windows y crear los archivos batch. Guía paso por paso para crear tus propias aplicaciones ejecutables, códigos y ejemplos prácticos, consejos y recomendaciones.
Sencillo manual que puede servir como introducción en el mundo de la programación batch, aquí aprenderás el uso de los comandos más comunes de la consola de CMD, para poder crear sencillas aplicaciones muy útiles, que como quizás has encontrado en otras páginas de este sitio, tienen gran aplicación práctica en Windows.
¿Que son los archivos batch?
Los archivos batch, también conocidos popularmente como BAT, son aplicaciones ejecutables, formadas simplemente de pequeños archivo de texto, que solo contienen algunos 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 su utilidad, principalmente es empleada por programadores, no obstante cualquier usuario aun con pocos conocimientos, le es posible aprender a utilizar la consola y crear tus propios archivos batch para facilitar la ejecución de varias tareas en Windows.
Los archivos batch, también conocidos popularmente como BAT, son aplicaciones ejecutables, formadas simplemente de pequeños archivo de texto, que solo contienen algunos 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 su utilidad, principalmente es empleada por programadores, no obstante cualquier usuario aun con pocos conocimientos, le es posible aprender a utilizar la consola y crear tus propios archivos batch para facilitar la ejecución de varias tareas en Windows.
Uso y empleo de los archivos batch en Windows
El principal uso de estos archivos en la actualidad, es la de permitir a los usuarios crear sus propias aplicaciones, que permitan realizar tareas sencillas pero tediosas y repetitivas, de acuerdo a la labor en que usamos 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 múltiples 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.
El principal uso de estos archivos en la actualidad, es la de permitir a los usuarios crear sus propias aplicaciones, que permitan realizar tareas sencillas pero tediosas y repetitivas, de acuerdo a la labor en que usamos 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 múltiples 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.
Como crear un archivo batch.
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.
No es necesario conocimientos de informática, solo comprender simples reglas que veras más abajo y familiarizarse con algunos de los comandos más empleados.
La estructura de un archivo batch es sencilla:
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.
No es necesario conocimientos de informática, solo comprender simples reglas que veras 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.
• 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.
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:
• 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:
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 o CHDIR seguido de la ubicación del directorio al cual nos moveremos.Por ejemplo:
CD o CHDIR:
Sirve para cambiar de Directorio o mostrar el nombre del actual. Para usarlo, usa CD o CHDIR 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:
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:
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 /F permite eliminar archivos que poseen el atributo de solo lectura
MOVE:
Sirve para mover un archivo. Su sintaxis es:
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:
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
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 llamado copiame.txt. En él, escribe lo que quieras. Este será el archivo que copiaremos.
Código:
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 llamado copiame.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.
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:
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 archivonuevo.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:
El código empleado es el siguiente:
Además se puede jugar con los caracteres. Un ejemplo, donde se cambiaron los colores, los caracteres y el pause:
El código empleado es el siguiente:
@echo off
color 30
echo ==================================
echo = =
echo = Personalizado =
echo = =
echo ==================================
echo.
echo.
echo Esto esta personalizado, para salir presiona una tecla.
pause>nul
exit
Vale mencionar que ECHO, seguido de un punto, sirve para saltarse una línea.
Variables:
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:
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:
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ó.
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.
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 útiles 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).
? 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ó, agregaPAUSE antes 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….”
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:
? 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:
? 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:
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 lasPropiedades 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.
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.
? 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:
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