En batch, al igual que todas las terminales que hay, poseen una serie de caracteres especiales o comodines llamados metacaracteres.
Puedes ver todas las lecciones batch desde este enlace: Lecciones batch.
Los metacaracteres son caracteres que sustituyen letras normales para poder realizar más operaciones a la vez.
Existen muchos caracteres, entre los más importantes que usa batch destacamos:
>,>>,*,?,|,&,(),”,’,#,\,/,%
- Redirecciones > y >>: Estos dos metacaracteres se utilizan para las redirecciones en batch, es decir, sirven para mandar lo que se escribe en la terminal a la salida (un documento de texto).La diferencia entre estos dos caracteres es que “>” manda la información a un archivo sin sobrescribir, mientras que “>>” si sobrescribe el documento.
- La interrogación “?“: sirve para sustituir un carácter por cualquier otra, muy útil en las búsquedas. Por ejemplo si ponemos la palabra “perr?” las palabra que entenderá son “perr[a-Z]” (cualquier letra).
Vemos que la búsqueda “dir p?lo.txt” ha encontrado los archivos palo.txt, pelo.txt. polo.txt.
* El comando dir sirve para listar archivos, aun no se ha visto.
- El asterisco (*): es parecido que el metacaracter de la interrogacion pero más potente ya que con el podemos sustituir más de 1 carácter o incluso todo el nombre de un archivo. Ej.: si tenemos esta expresión arch*, la terminal mostrara cualquier archivo que tenga arch y lo que sea, incluso mostrando los archivos de distintas extensiones.
Esto es útil para buscar archivos por el disco duro, o para buscar todos los archivos que tengan una extensión dentro de una carpeta, entre otras funciones.
En este caso la terminal busca cualquier archivo que tenga la extensión .txt.
- Las comillas (“” ó ‘’): se utilizan para agrupar un conjunto de palabras (cadena) separada por espacios, como si fuera una sola palabra, ya que si no se ponen la terminal creerá que hay muchos parámetros.
Un ejemplo es cuando queremos irnos a una carpeta que contiene varias palabras separados por espacio.
cd c:\Documents and settings\usuario –> Mal
cd “c:\Documents and settings\usuario” –> Bien
- Las barras (/,\) pueden ser confusas para los iniciados ya que cada una se utiliza para una cosa (en batch)
La barra “\” se utiliza para separar una carpeta de otra, para los usuarios Linux esta barra es “/” de ahí la posible confusión.
Mientras que “/” (barra del 7) en batch se utiliza para poner los parámetros de los comandos (/s /q…etc) También hay parámetros que se ponen con el guion “-“.
- Las almohadillas (#) sirven para poner comentarios en los códigos. Esto es más utilizado en los scripts Linux, en batch es mejor utilizar el comando rem para poner comentarios.
- El carácter “|”: Se utiliza para las tuberías (piper) muy utilizada en Linux y menos en Windows de la que se hablara detalladamente en otra entrada. Las tuberías sirven para bifurcar la salida a otra salida. En Windows tenernos dos comandos (del que no he hablado aun) que se pueden utilizar a través de tuberías, estos comandos son “more” y “sort”. La primera es para mostrar un texto o lista de modo paginada y la segunda es para mostrar una lista por orden alfabético.
Ej.: “type archivo.txt | more” –> Muestra el contenido del archivo paginado
“dir c:\Carpeta | sort” –> Muestra los archivos de esa carpeta en orden alfabético.
- El carácter Ampersand (&): En batch se utiliza para ejecutar más de una orden (comando) a la vez y en la misma línea.
* Podemos utilizar (&) tantas veces como queramos en una línea.
- Los paréntesis (): Sirven para agrupar una serie de comandos o expresiones. Como por ejemplo en las condiciones if.
@echo off
if %date% EQU 18/07/2010 (echo Esto es una muestra de lo que hacen los parentesis en batch.
echo Vemos que la condicion se ha cumplido mostrando la fecha actual
date /t
echo Despues hara una pausa para salir de la conficion
pause) else (echo La condicion no se ha cumplido
echo por que la fecha no es igual.
echo A continuacion se hara una pausa para salir del programa
pause) Este es el resultado:
* Lo que prtendo con este ejemplo es mostrar el uso de los parentesis y de como agrupa los comandos. No hace falta que os fijeis demasiado en el código ya que aun me falta muchos por explicar.
- El porcentaje (%): El porcentaje se utiliza sobre todo cuando queremos mostrar una variable, tanto si es del sistema, como si es una variable creada por nosotros mismos en un script. El modo de uso es %variable%.
* En el código de la condición if, se ha visto el uso de una variable (echo %date%).
Otro uso que tiene los porcentajes, es extraer la ruta del archivo del bat, o parámetros (%0, %1…9, %*).
* Tanto el primer uso como en el segundo se detallaran en profundidad en varias entradas, ya que es una de los usos más importantes a la hora de programar scripts
Estos son los metacaracteres y caracteres especiales principales que posee batch otros caracteres que no se han visto, como <,<<,||,^,&&,;,etc, no son muy usados en windows sino mas bien en linux, por lo que cuando salga uno nuevo lo explicaré.
Entradas Relacinadas:










