Comando Expand

En algunas ocasiones es necesario obtener uno o más archivos de la instalación de Windows. Ya sea porque uno de esto ficheros ha sido borrado o se ha dañado. La consola de recuperación de Windows es una herramienta que le permitirá acceder a estos ficheros. Pero, un fichero en específico en ocasiones viene comprimido junto a otros en ficheros del tipo .cab.

¿Cómo tener acceso a estos ficheros? ¿Cómo descomprimirlos y acceder a los ficheros internos? Pues sencillamente con el comando expand de la consola de recuperación de Windows podremos descomprimir los ficheros .cab de Windows y acceder a su contenido.

Si quieres conocer más acerca de este comando, así como su sintaxis y características, te invito a que continúes leyendo. Ya comenzamos.

Tabla de contenidos


¿Qué son los ficheros CAB?

Los ficheros .cab no son más que archivos contenedores nativos de Windows. La extensión cab proviene del inglés cabinet, que significa closet o gabinete. Es decir, este tipo de archivos se emplea como contenedor de otros ficheros.

Inicialmente estos archivos eran llamados archivos Diamond. Los ficheros contenidos dentro de estos comprimidos generalmente son archivos relacionados a instalaciones de Windows, como controladores de dispositivos o archivos del sistema.

Si necesitamos recuperar algún archivo del sistema que haya sido dañado o eliminado, podemos sacarlo de algún fichero .cab propio de la instalación de Windows.

¿Qué es el comando expand?

El comando expand puede ser empleado desde la línea de comandos de Windows para extraer ficheros desde archivos comprimidos, ya sean .cab o los clásicos .zip o .rar. Generalmente este comando se emplea para extraer ficheros de sistema o controladores desde archivos de instalación de aplicaciones o del sistema operativo en general.

Disponibilidad del comando expand

El comando expand está presente en todas las versiones superiores de MS-DOS 6.0. Además, forma parte de la línea de comandos de Windows en sus versiones 2000 y XP. También se incluye en las versiones Vista, 7, 8 y 10. Por otro lado, aun con la gran cantidad de modificaciones realizadas a la última versión del sistema operativo, Windows 11, este comando puede ser accesible aun desde el cmd.

Además, este comando puede ser ejecutado desde la consola de recuperación de Windows.

Sintaxis del comando

El comando expand puede ser utilizado de diferentes maneras:

expand [/r /d /i] <source> <destination>
expand <source>.cab /f:<files> <destination>

Descripción de los parámetros del comando expand

ParámetrosSignificado
/rAl usar este parámetro estamos indicando que los archivos extraídos del comprimido deben ser renombrados. El nombre nuevo debe ser especificado en la ruta de destino.
/iEl parámetro es similar al anterior. La principal diferencia es que se omiten las estructuras de los directorios en el nuevo nombre del archivo.
/dEste parámetro nos muestra la lista de ficheros que se encuentran dentro del comprimido. Cuando se ejecuta expand junto a /d no se realizara ninguna extracción de ficheros desde los comprimidos.
sourceEs usado para especificar el directorio y el fichero comprimido del cual se va a extraer. Este directorio debe estar conformado por la letra de la unidad de disco seguido de dos puntos. Debe continuar con el nombre de la carpeta o la combinación de varias de estas y finalizar con el archivo comprimido.
destinationEste parámetro se emplea para especificar la ruta de destino donde se va a extraer el fichero del comprimido. En caso de que el fichero origen tenga varios ficheros y no se emplee el parámetro /r, este parámetro debe apuntar hacia un directorio. En caso de que se use el parámetro /r, este parámetro hará referencia a un directorio y el nuevo nombre de fichero.
/f:<files>Este parámetro es específico para archivos .cab. Permite el empleo de caracteres comodines como * o ?.
/?Nos permite acceder a la ayuda referente al comando expand en el sistema.

Ejemplos de uso del comando expand

Supongamos que tenemos montada una imagen de instalación del sistema operativo Windows XP. La ruta de acceso de esta imagen es d. Entonces si queremos extraer un fichero de los drivers de esta imagen ejecutamos el comando

expand d:\i386\hal.dl_ e:\tmp

Comando expand para extraer fichero a un directorio.

Esta ejecución copia el fichero desde la carpeta i386 de nuestra imagen de instalación a directorio tmp en la unidad e.

Además, podemos listar todos los ficheros contenidos en el archivo drivers.cab que está dentro de la carpeta i386 de la imagen de Windows XP utilizada como ejemplo. Para realizar esta acción ejecutamos

expand /d d:\i386\driver.cab

En la salida del comando podrás comprobar la cantidad de ficheros que hay dentro de este comprimido, que por cierto son bastantes. Ningún fichero ha sido extraído, como seguro te habrás percatado . Te recomiendo realizar este listado primeramente para que te cerciores de que el fichero que vas a extraer existen el comprimido.

Listado de archivos en un comprimido.

Una vez que ya sabes cuál es el fichero que deseas extraer del archivo .cab o del comprimido, ejecutas el comando

d:\i386\driver.cab /f:1394vdbg.sys e:\tmp

En este caso el comando copiará el fichero 1394vdbg.sys desde el comprimido driver.cab al directorio tmp en la unidad d. Importante aclarar que para los ficheros .cab es necesario indicar específicamente cual es el fichero que se desea extraer.

Extraer ficheros de archivo .cab