Si quieres saber cómo realizar pequeños programas para ejecutar acciones automáticamente y olvidarte de tareas repetitivas, éste es tu artículo :) Vamos a ver unos comandos muy fáciles pero muy poderosos, con los cuales podremos hacer increibles scripts, en muy pocos minutos y que nos ahorrará un tiempo maravilloso para dedicarlo nuestros menesteres :P

 

 

¿Qué es un fichero batch?

 

Un fichero batch es un conjunto de instrucciones o líneas de código escritas en lenguaje MS-DOS y no se requiere ningún programa pesado ni especial para crearlos, simplemente nos bastaría con abrir un simple editor de texto (como Bloc de Notas, Notepad++ *recomendado*, ...), incluir las intrucciones que queramos ejecutar y darle extensión .bat o .cmd al fichero en cuestión. Al ejecutarse, Windows abrirá automáticamente una consola de comandos (cmd) e irá ejecutando cada línea del fichero secuencialmente

Si estás empezando en este mundillo de los scripts, la programación y realmente te atrae, te recomiendo empezar con algún libro sobre Cómo crear scripts con MS-DOS . No te arrepentirás ;)

 

¿Cómo crear un fichero batch?

 

Para empezar a crear un fichero batch, hay que saber 4 comandos básicos (aparte de abrir el Notepad++ :)):

 

  • @echo off: incluir en la primera línea del fichero.
  • echo: Muestra el literal que pongamos a continuación en la consola de comandos. Muy útil para saber qué secuencia se está ejecutando en cada momento y para pedir información al usuario.
  • pause: Este comando sirve para dejar las instrucciones en espera hasta que nosotros pulsemos alguna tecla para permitirle continuar. Muy útil sobretodo al principio de empezar a programar ficheros batch para ver los posible errores que nos ha tirado el código
  • exit: Támbien eof, sirven para cerrar la ventana de comandos una vez se han ejecutado todas las instrucciones del fichero.

Como ejemplo, el clásico programa que nos escribe Hola Mundo en la consola de comandos sería así: 

@echo off
echo Hola Mundo
pause
exit

 

Comandos Batch 

 
ComandoUtilizaciónEjemplo 
 CDSirve para cambiar del directorio actual al indicado

cd c:\Prueba

Cambia del directorio actual al directorio "Prueba" del disco C

 COPY

Copia los ficheros de la ubicación origen a la ubicación destino

copy <origen> <destino>

copy c:\Prueba\fichero.txt c:\fichero2.txt

Copiaría "fichero.txt" de la carpeta "Prueba" a la raíz de C con nombre "fichero2.txt"

 ECHO

Muestra por pantalla el literal indicado

echo El e-Informatico.es me gusta

Muestra por pantalla el literal: "El e-Informatico.es me gusta"

 PAUSE

Se queda en estado de espera hasta que el usuario pulse una tecla

 pause

 TIME

Muestra la hora del sistemaecho %time%
 DATEMuestra la fecha del sistemaecho %date%
 DELElimina el fichero indicadodel fichero.txt
 MDCrea un directoriomd prueba
 RDElimina un directoriord prueba
:: o REMSirve para comentar un línea

:: Esto es un comentario

REM Esto también es un comentario

Redirecciones
 >Incluye la salida del comando de la izquierda en el fichero indicado en la derechaecho El e-Informatico.es > fichero.txt
Crea fichero.txt con el literal "El e-Informatico.es"
 >>Añade la salida del comando de la izquierda al fichero indicado en la derecha (append). 

echo me gusta >> fichero.txt

Añade el literal "me gusta" a lo que hubiese en fichero.txt

Variables
 %var%Las variables se muestran entre porcentajes '%' 
 setSe utiliza para asignar valores a variables

set var=datos

asigna el valor "datos" en la variable "var"

set /p var=

asigna valor introducido por el usuario a la variable "var"

set /a sum=%num1%+%num2%

para cuenta se utiliza el parámetro /a

Trucos
%var: =%
Elimina los espacios en blanco que contenga la variable 
%var:~x,y%Crea una variable a partir de los elementos de otra.
El valor de la nueva variable son los Y elementos siguientes a partir de la posición X.
set anio=%date:~6,4%

 

Vídeo: Primeros Pasos Crear Fichero Batch

 

Tienes un ejemplo práctico en el siguiente video. Entra y suscríbete!

Y, como siempre, si estás empezando y algo no te sale, consulta a través de los comentarios, quizá podamos ayudarte! ;)