1. Redirecciones.
Hay de dos tipos.
Redirección de entrada, y de salida.
La redirección de entrada sustituye la entrada
estándar del comando. (<)
Por ejemplo:
Sort
Ordenaría las líneas que el usuario introduce
por la consola.
Sort < fichero.txt
Ordenaría las líneas que están en fichero.txt
2. De salida. (>)
Sustituye la salida estándar (que es la pantalla)
para los comandos, por otra salida, como un
fichero.
Por ejemplo, el comando sort anterior daba su
resultado por pantalla, si quiero que el
resultado lo ponga en un fichero.
Sort < fichero.txt > salida.txt
Este comando pondrá el resultado anterior en
un archivo que se llamará salida.txt, si no existe
lo creará.
En el caso de que salida.txt ya existiera, con la
redirección lo sobreescribiríamos.
Si quisiera que no se sobreescriba, sino que se
añada al contenido que ya existe, el símbolo es
>>.
Tuberías. (|)
3. Su función es conectar la salida de un
comando con la entrada del siguiente, por
ejemplo, el comando type visualiza el
contenido de un fichero, y el comando more
pagina la entrada que le llegue, si hacemos
Type fichero.txt | more, veremos el contenido
del fichero paginado (la combinación de los dos
comandos)
4. SCRIPTS
Un script es un fichero con extensión .bat que
contiene un número de comandos para
ejecutarse secuencialmente.
Ejemplo:
@ echo off
Date
Cls
Dir *.*
Ver
La línea @ echo off, elimina que veamos
escrito el comando que se ejecuta.
Ejemplo:
5.
6. Sin @echo off
Paso de parámetros.
Cuando necesitamos que el usuario nos
indique algún dato para ejecutar nuestro
script, se lo podemos pasar como parámetro,
con la sintaxis %numero, siendo numero la
posición de parámetro que ocupa el dato al
lado del nombre de fichero.
Ejemplo:
7. Quiero un script que busque los archivos en el
directorio que me diga el usuario.
Notepad segundo.bat
@echo off
cls
echo ####### MOSTRANDO EL CONTENIDO DE
%1 #######
type %1
pause
Resultado de llamar segundo fichero.txt
8. Como se vé, se sustituye el símbolo %1 por el
primer nombre escrito al lado del nombre de
script.
Si hubiera más de un parámetro, por ejemplo,
segundo fichero.txt archivo2.txt, haríamos
referencia al primero como %1 y al segundo
como %2 y así para todos los parámetros.
9. Toma de decisiones.
Puedo comportarme de una manera u otra en
función de si un parámetro existe o no.
Ejemplo:
@echo off
cls
echo ####### MOSTRANDO EL CONTENIDO DE
%1 #######
if exist %1 type %1
if not exist %1 echo EL FICHERO %1 NO EXISTE
pause
Si el primer parámetro no exisitiera me daría el
mensaje de que no existe, y no haría el type.
BUCLES.
10. A veces es necesario hacer repetidamente un
comando hasta que se cumpla una condición, o
evitar hacer algo si no se cumple una
condición, en definitiva, puedo necesitar saltar
de un lugar a otro en el script.
Lo haremos con el comando GOTO y un
nombre de etiqueta.
Ejemplo:
@echo off
:inicio
echo ####### MOSTRANDO EL CONTENIDO DE
%1 #######
if exist %1 type %1
if not exist %1 echo EL FICHERO %1 NO EXISTE
GOTO inicio
11. El ejemplo anterior genera un bucle infinito
que solo pulsando Control + C, lograríamos
parar.