Comandos de Manipulación de Archivos en Windows: Ejemplos Prácticos

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,02 KB

Este documento presenta ejemplos prácticos del uso de comandos de manipulación de archivos en la consola de comandos de Windows (CMD). Se utilizan comandos como sort, find y type para realizar diversas operaciones sobre un archivo de texto llamado PERSONAL.TXT.

Clasificación de Archivos

Clasificar el archivo PERSONAL.TXT por el campo Ape1 (Apellido 1):

sort ejer4\personal.txt /+15

El modificador /+15 indica que la clasificación debe comenzar en la columna 15, donde presumiblemente comienza el campo Ape1.

Ordenación y Almacenamiento de Resultados

Ordenar el listado de empleados por salario y guardarlo en el archivo SALARIO.TXT:

sort ejer4\personal.txt

Nota: Sería necesario especificar la columna del salario con /+n si no se encuentra al inicio de cada línea.

Filtrado de Datos

Crear el archivo AGENDA.TXT a partir del archivo PERSONAL.TXT con los empleados que viven en Bilbao:

find "Bilbao" ejer4\personal.txt > ejer4\agenda.txt

Encontrar aquellos empleados que no estén solteros:

find /v "soltero" personal.txt

El modificador /v muestra las líneas que *no* contienen la cadena especificada.

Buscar aquellos empleados que estén viudos y vivan en Basauri:

find /i "viudo" personal.txt | find /i "Basauri"

El modificador /i hace que la búsqueda no distinga entre mayúsculas y minúsculas. Se utiliza una tubería (|) para encadenar dos comandos find.

Creación y Fusión de Archivos

Crear un archivo con los empleados que vivan en Basauri (CERCANIA.TXT) y otro con los solteros (SOLOS.TXT). Fusionarlos y clasificarlos por el campo Ape1 en un tercer fichero llamado SOLO-CER.TXT:

find "Basauri" ejer4\personal.txt > ejer4\cercania.txt
find "soltero" ejer4\personal.txt > ejer4\solos.txt
sort ejer4\solos.txt /+15 >> ejer4\solo-cer.txt
sort ejer4\cercania.txt /+15 >> ejer4\solo-cer.txt

Se utiliza >> para añadir el contenido al final del archivo solo-cer.txt, en lugar de sobrescribirlo.

Filtrado y Clasificación Combinados

Crear el fichero BIL_SOL.TXT con los empleados clasificados por Ape1 que vivan en Bilbao y estén solteros:

sort ejer4\personal.txt /+15 | find "Bilbao" | find "soltero" > ejer4\bil-sol.txt

Grabar en un fichero llamado MILEURIS.TXT sólo los empleados que ganen 1000 Euros y que sean de Bilbao, clasificado por Ape1:

sort ejer4\personal.txt /+15 | find "1000" | find "Bilbao"

Nota: El resultado se muestra por pantalla. Para guardarlo en MILEURIS.TXT, se debe añadir > ejer4\mileuris.txt al final del comando.

Grabar en un fichero NCAOVI.TXT los empleados de Araba que no estén casados y los empleados viudos de Bizkaia ordenados por Ape1:

sort ejer4\personal.txt /+15 | find /I "Araba" | find /v "casado" >> ejer4\ncaovi.txt
sort ejer4\personal.txt /+15 | find /i "Bizkaia" | find /I "viudo" >> ejer4\ncaovi.txt

Conteo de Resultados

Averiguar cuántos empleados que viven en Bizkaia están solteros y ganan 1000 Euros:

find /c "soltero" ejer4\personal.txt | find "1000"

Nota: La sintaxis correcta sería: find "soltero" ejer4\personal.txt | find "1000" /c. El comando original tiene errores. Además, no se filtra por "Bizkaia". Una versión corregida y completa sería:

find /i "Bizkaia" ejer4\personal.txt | find /i "soltero" | find "1000" /c

Ordenación por Localidad

Obtener un listado de empleados que ganen 1000 Euros ordenados por Localidad:

sort ejer4\personal.txt /+54 | find "1000"

Se asume que la localidad está en la columna 54.

Filtrado Inverso y Paginación

Buscar en el fichero PERSONAL.TXT aquellos empleados que estén casados, que no ganen 1000 Euros y que vivan en Basauri, clasificados por Ape1 en orden inverso y mostrarlos pantalla a pantalla:

sort ejer4\personal.txt /r /+15 | find /i "casado" | find /v "1000" | find "Basauri"

El modificador /r invierte el orden de la clasificación.

Nota: Para mostrar los resultados pantalla a pantalla, se puede usar el comando more al final de la tubería: | more.

Entradas relacionadas: