Comprimir y descomprimir archivos usando PowerShell
En PowerShell 5.0, Microsoft tiene comandos para crear archivos zip y extraer archivos de archivos existentes. Este artículo discutirá los comandos de PowerShell para archivar y descomprimir archivos comprimidos.
Los siguientes comandos son dos de los cmdlets más nuevos publicados en PowerShell v5.0: el comando Compress-Archive
crea un archivo comprimido comprimido a partir de carpetas o archivos individuales y el comando Expand-Archive
para extraer archivos de un archivo comprimido comprimido.
Comprimir archivos usando PowerShell
Usemos PowerShell para comprimir archivos en un nuevo archivo .zip
.
Use el parámetro -Path
para especificar la ubicación de la carpeta que queremos comprimir y el parámetro -DestinationPath
para especificar el nombre del archivo comprimido que desea crear.
Por ejemplo, el siguiente comando comprimirá la carpeta Temp
en el directorio raíz C:
y creará un archivo llamado Temp_Files.zip
en la carpeta Temp:
Compress-Archive -Path C:\Temp -DestinationPath C:\Temp\Temp_Files.zip
Alternativamente, podríamos comprimir los archivos en la carpeta Temp individualmente usando el parámetro -LiteralPath
en lugar del parámetro -Path
. Esto crea un archivo con solo los dos archivos enumerados en el parámetro -LiteralPath
:
Compress-Archive -LiteralPath C:\Temp\File1.txt, C:\Temp\File2.txt -DestinationPath C:\Temp\Temp_Files.zip -Force
Agregamos el parámetro -Force
para sobrescribir el primer archivo que creé. Sin el parámetro -Force
, no puede reemplazar archivos existentes y Windows PowerShell le pedirá que agregue archivos al archivo en su lugar.
Para agregar varios archivos a un archivo, podemos usar el parámetro -Update
. Por ejemplo, el siguiente comando agrega todos los archivos en la carpeta Facturas
a mi archivo existente Temp_Files.zip
:
Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip
También podemos utilizar el parámetro -CompressionLevel
con uno de estos tres valores: NoCompression
, Optimal
o Fastest
.
Optimal
es el valor predeterminado si el parámetro -CompressionLevel
no está presente en la expresión. La compresión Optimal
utiliza la mejor compresión, pero puede tardar más que Fastest
.
Utilice el valor NoCompression
para crear un archivo sin compresión.
Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip -CompressionLevel Optimal
Descomprimir archivos usando PowerShell
Para extraer archivos de un archivo, debemos especificar el nombre del archivo y la carpeta de destino para los archivos descomprimidos.
El uso del comando Expand-Archive
extraerá el contenido del archivo Temp_Files.zip
a una carpeta Temp
.
Expand-Archive -LiteralPath C:\Temp\Temp_Files.Zip -DestinationPath C:\Temp
Expand-Archive
creará automáticamente la carpeta de los archivos extraídos.
Sin embargo, si el archivo comprimido que descomprimimos ya existe en la carpeta de destino, Expand-Archive
arrojará un error. Podemos sobrescribir archivos en la carpeta de destino agregando el parámetro -Force
a la línea de comando.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArtículo relacionado - PowerShell File
- Almacene el contenido del archivo de texto en variable usando PowerShell
- Consulta de la última hora de escritura del archivo en PowerShell
- Desbloquear archivos usando PowerShell
- Dividir archivo grande en PowerShell
- Leer archivo CSV línea por línea en PowerShell
- Buscar archivos con extensión en PowerShell