Capítulo 8
Redireccionamientos
Índice · Capítulo
7
· Capítulo 9 · Publicaciones
· Saulo.Net
8-1 Introducción
Para comprender mejor el significado del redireccionamiento, intente responder primeramente las siguientes preguntas.
Las respuestas correctas son el teclado y el monitor respectivamente. En este capítulo aprenderemos a redirigir (cambiar) las entradas y salidas de las órdenes del ms-dos. El siguiente cuadro presenta la entrada y la salida por defecto de las órdenes del dos.
| Función | Dispositivo |
| Entrada por defecto |
CON (teclado) |
| Salida por defecto | CON (monitor) |
Índice · Arriba · Publicaciones · Saulo.Net
8-2 Los operadores
Para variar la entrada de una orden, la salida o ambas, se utilizan los operadores de redireccionamiento. Son cuatro:
| Operador | Descripción | Sintaxis |
| < | Redirección de la entrada |
orden <fichero/dispositivo |
| > | Redirección de la salida | orden >fichero/dispositivo |
| >> | Redirección de la salida a un fichero existente | orden >>fichero |
| | | Redirección de la salida de una orden a entrada de otra orden | orden1 |orden2 |
Índice · Arriba · Publicaciones · Saulo.Net
8-3 Los filtros del DOS
Los filtros del dos son las órdenes More, Sort y Find. Estas tres órdenes externas se denominan filtros porque su misión es recibir una entrada, filtrarla y devolver una salida.
More
Recibe como entrada un conjunto de caracteres organizados en filas y devuelve los mismos caracteres insertando una pausa cada 23 líneas.
En muchas ocasiones la información mostrada por una orden o el contenido de un fichero no cabe en una sola pantalla y los datos se desplazan a gran velocidad sin darnos tiempo a leerlos. La utilidad de la orden More se encuentra en estas ocasiones, deteniendo el desplazamiento de información en cada pantalla. Entonces, More muestra la siguiente línea:
-- Más --
Después de leer los datos en pantalla, podemos pulsar Enter para continuar o también Ctrl+Pausa para interrumpir.
Sort
Recibe como entrada un conjunto de caracteres organizados en filas y devuelve los mismos caracteres ordenando cada fila alfabéticamente.
El uso más frecuente de este filtro es ordenar alfabéticamente el contenido de un fichero. Admite dos modificadores:
| Modificador | Descripción | |
| /R | Ordena inversamente (de la `Z' a la `A' y del `9' al `0') | |
| /+columna | Indica la columna del carácter a partir del cual se comparará cada fila. |
Find
Recibe como entrada un conjunto de caracteres organizados en filas y devuelve las filas que contengan una cadena determinada.
La cadena de caracteres para buscar debe especificarse entre comillas (Mays+2) después de la orden.
Se utiliza, a menudo, para buscar una cadena de caracteres en un fichero o en la salida de una orden. El filtro Find distingue entre mayúsculas y minúsculas mientras no le especifiquemos el modificador /I entre la orden y la cadena.
FIND "cadena" (cadena es diferente que
CADENA)
FIND /I "cadena" (cadena es lo mismo que
CADENA)
Índice · Arriba · Publicaciones · Saulo.Net
8-4 Redirección de la entrada. Operador `<'
Cómo hemos dicho al principio del capítulo, las órdenes del dos solicitan información a través del teclado. Con este operador hacemos que la información de entrada proceda desde un fichero o un dispositivo.
Aplicaciones:
A:\>more <recuerdo.txt
(More toma como entrada el fichero RECUERDO.TXT y como salida, el monitor)
A:\>sort <personal.txt
(Sort toma como entrada el fichero PERSONAL.TXT y como salida, el monitor)
A:\>sort /+40 <personal.txt
A:\>find "JIMENEZ" <personal.txt
(Find considera como entrada el fichero PERSONAL.TXT y muestra por pantalla todas las filas que contienen la cadena «JIMENEZ»)
Ejercicios de autocomprobación
a) Mostrar el fichero CRONICA.TXT con pausa en cada pantalla.
b) Mostrar el fichero AVISO.TXT con pausa en cada pantalla.
c) Ordenar el fichero NUMEROS.TXT alfabéticamente.
d) Ordenar el fichero LISTIN.TXT alfabéticamente a partir de la columna 30.
e) Ordenar el fichero AMIGOS.TXT inversamente.
f) Buscar la cadena "IGNACIO" en el fichero PERSONAL.TXT
Índice · Arriba · Publicaciones · Saulo.Net
8-5 Redirección de la salida. Operador `>'
Con este operador dirigimos la salida desde la pantalla a un fichero o dispositivo.
Suele tener dos usos principales:
A:\>type romance.txt >prn
(imprime el fichero ROMANCE.TXT en impresora)C:\>vol >prn
(imprime la etiqueta y el número de serie en impresora)
C:\>dir >director.txt
(crea el fichero DIRECTOR.TXT con el directorio raíz de C:)C:\>ver >version.txt
(crea el fichero VERSION.TXT conteniendo la versión actual de ms-dos)
El operador `>' también se puede combinar con los filtros del
dos. Veamos algunas aplicaciones:
B:\>sort >amigos.txt
(Sort asume como entrada el teclado y como salida el fichero AMIGOS.TXT)
B:\>sort <listin1.txt >listin2.txt
(Sort asume como entrada el fichero LISTIN1.TXT y como salida, el fichero LISTIN2.TXT)
B:\>sort <listin1.txt >prn
(Sort toma como entrada el fichero LISTIN1.TXT y como salida, la impresora)
B:\>find "CONTABLE" <personal.txt >contable.txt
Ejercicios de autocomprobación
a)
DATE <DIA.TXT
b) TIME <HORA.TXT
c) TYPE ROMANCE.TXT
d) TYPE ROMANCE.TXT >CON
e) DIR >DIRECTOR.TXT
f) DIR >PRN
g) SORT
h) SORT <DESORDEN.TXT
i) SORT <DESORDEN.TXT >ORDEN.TXT
j) SORT <DESORDEN.TXT >PRN
k) FIND "HARINA" <COMPRA.TXT
l) FIND "HARINA" <COMPRA.TXT >HARINA.TXT
m) MORE <AVISO.TXT
Índice · Arriba · Publicaciones · Saulo.Net
8-6 Redirección de la salida a un fichero existente `>>'
Se utiliza para dirigir la salida de una orden a un fichero existente. Al contrario que el operador `>', el operador de adicción `>>' no sobrescribe sino añade al fichero existente.
La siguiente orden añade al fichero SOS.TXT la ayuda de la orden Time. Si no existe, se crea el fichero.
A:\>time /? >>sos.txt
La siguiente añade al fichero SOS.TXT la ayuda suministrada por ms-dos para la orden Date.
A:\>date /? >>sos.txt
Si ahora visualizamos el fichero SOS.TXT, comprobamos que contiene la ayuda de ambas órdenes.
A:\>type sos.txt
Muestra o establece la hora del sistema.
TIME [hora]
Escriba TIME sin parámetros para consultar o cambiar la
hora actual.
Presione ENTRAR para conservar la misma hora.
Presenta o establece la fecha.
DATE [dd-mm-aa]
dd-mm-aa Establece la fecha que se especifique.
Escriba DATE sin parámetros para ver la fecha actual y
poder escribir una nueva.
Presione ENTRAR para conservar la misma fecha.
D:\>
Ejercicios de autocomprobación
a)
Mostrar el fichero INFORME.TXT con pausa en cada pantalla.
b) Imprimir el fichero INFORME.TXT en la impresora.
c) Ordenar el texto introducido por el teclado en la impresora.
d) Añadir la etiqueta y el número de serie de la unidad actual (orden Vol)
al fichero VARIOS.TXT
e) Añadir el directorio actual al fichero VARIOS.TXT
Índice · Arriba · Publicaciones · Saulo.Net
8-7 Redirección de la salida a entrada de otra orden ( | )
El uso del operador `|' guarda la siguiente sintaxis:
orden1 |orden2
Nota: El símbolo de tubería o símbolo de canalización `|' se obtiene pulsando AltGr+1.
La lectura de esta sintaxis es: "tomar la salida de orden1 como entrada de orden2".
Cada vez que utilizamos el símbolo tubería, ms-dos necesita crear un fichero temporal. Para ello utiliza la variable de entorno TEMP. Si esta variable no está bien definida, puede ocurrir algún error.
Aplicaciones:
B:\>type informe.txt |more
C:\DOS>dir |more
C:\>tree |more
C:\>dir |find "bytes libres"
20.443.136 bytes libres
(muestra los bytes libres de la unidad C:)
TEMP=C:\DOS
(muestra el valor de la variable TEMP o nada si no existe)
Ejercicios de autocomprobación
a)
COPY EJEMPLO.TXT PRN
b) TYPE EJEMPLO.TXT |MORE
c) TYPE EJEMPLO.TXT >PRN
d) COPY EJEMPLO.TXT CON
e) DIR /P
f) MORE <EJEMPLO.TXT
g) TYPE EJEMPLO.TXT
h) DIR |MORE
Índice · Arriba · Publicaciones · Saulo.Net
Clave de los ejercicios de autocomprobación
Índice · Arriba · Publicaciones · Saulo.Net
Puesta en práctica
Vamos a seguir los siguientes pasos:
0 10
20 30
40
12345678901234567890123456789012345678901234567
Ismael Caballero
Valladolid 7986821
María López
Córdoba 4568756
Sonia Aguilar
Valladolid 1239083
Juan Ramírez
Córdoba 7643434
Laura Díaz
Córdoba 4221336
Enrique Ortiz
Burgos 3423444
Mónica Carrasco
Madrid 1234123
Cristina Reyes
Madrid 3344334
0 10 20 30 40
12345678901234567890123456789012345678901234567
Antonio López
Alicante 8344621
Juan Moreno
Alicante 4352359
Resolución en el ordenador:
A:\>copy con amigos1.txt
Ismael Caballero Valladolid 7986821
María López Córdoba 4568756
Sonia Aguilar Valladolid 1239083
Juan Ramírez Córdoba 7643434
Laura Díaz Córdoba 4221336
Enrique Ortiz Burgos 3423444
Mónica Carrasco Madrid 1234123
Cristina Reyes Madrid 3344334
^Z
1 archivo(s) copiado(s)
A:\>find "Córdoba" <amigos1.txt
María López Córdoba 4568756
Juan Ramírez Córdoba 7643434
Laura Díaz Córdoba 4221336
A:\>find "Cristina" <amigos1.txt
Cristina Reyes Madrid 3344334
A:\>sort /+26 <amigos1.txt
Enrique Ortiz Burgos 3423444
Laura Díaz Córdoba 4221336
María López Córdoba 4568756
Juan Ramírez Córdoba 7643434
Mónica Carrasco Madrid 1234123
Cristina Reyes Madrid 3344334
Sonia Aguilar Valladolid 1239083
Ismael Caballero Valladolid 7986821
A:\>sort /+12 <amigos1.txt
Sonia Aguilar Valladolid 1239083
Ismael Caballero Valladolid 7986821
Mónica Carrasco Madrid 1234123
Laura Díaz Córdoba 4221336
María López Córdoba 4568756
Enrique Ortiz Burgos 3423444
Juan Ramírez Córdoba 7643434
Cristina Reyes Madrid 3344334
A:\>copy con amigos2.txt
Antonio López Alicante 8344621
Juan Moreno Alicante 4352359
^Z
1 archivo(s) copiado(s)
A:\>type amigos1.txt >amigos3.txt
A:\>type amigos2.txt >>amigos3.txt
A:\>type amigos3.txt
Ismael Caballero Valladolid 7986821
María López Córdoba 4568756
Sonia Aguilar Valladolid 1239083
Juan Ramírez Córdoba 7643434
Laura Díaz Córdoba 4221336
Enrique Ortiz Burgos 3423444
Mónica Carrasco Madrid 1234123
Cristina Reyes Madrid 3344334
Antonio López Alicante 8344621
Juan Moreno Alicante 4352359
A:\>sort <amigos3.txt >amigos4.txt
A:\>type amigos4.txt
Antonio López Alicante 8344621
Cristina Reyes Madrid 3344334
Enrique Ortiz Burgos 3423444
Ismael Caballero Valladolid 7986821
Juan Moreno Alicante 4352359
Juan Ramírez Córdoba 7643434
Laura Díaz Córdoba 4221336
María López Córdoba 4568756
Mónica Carrasco Madrid 1234123
Sonia Aguilar Valladolid 1239083
A:\>del amigos?.txt
A:\>
Índice · Arriba · Capítulo 9 · Publicaciones · Saulo.Net