PowerShell 学习笔记:压缩、解压缩文件

在自动构建的时候,最常用的就是压缩备份项目的源文件,PowerShell提供了相关命令。

Compress-Archive(压缩文件
Compress-Archive
        [-Path] <String[]>
        [-DestinationPath] <String>
        [-CompressionLevel <String>]
        [-PassThru]
        [-WhatIf]
        [-Confirm]
        [<CommonParameters>]

参数说明:

序号

参数

说明

1

-Path

指定想要添加到存档压缩文件的文件的路径。 若要指定多个路径并在多个位置中包含文件,请使用逗号分隔路径。

此参数接受通配符。 使用通配符可以将目录中的所有文件添加到存档文件。

对根目录使用通配符会影响存档的内容:

  • 若要创建 包含 根目录及其所有文件和子目录的存档,请在 路径 中指定不带通配符的根目录。 例如: -Path C:\Reference

  • 若要创建 排除 根目录但压缩其所有文件和子目录的存档,请使用星号 (*) 通配符。 例如: -Path C:\Reference\*

  • 若要创建仅压缩根目录中文件的存档,请使用 星点星形 (*.*) 通配符。 根目录不包含在存档中。 例如: -Path C:\Reference\*.*

2

-DestinationPath

此参数是必需的,指定存档输出文件的路径。 DestinationPath 应包含压缩文件的名称,以及压缩文件的绝对路径或相对路径。

如果 DestinationPath 中的文件名没有 .zip 文件扩展名,则 cmdlet 将添加 .zip 文件扩展名。

3

-CompressionLevel

指定在创建存档文件时要应用的压缩量。 较快的压缩需要的文件创建时间较少,但可能导致文件大小较大。

如果未指定此参数,该命令将使用默认值 Optimal

以下是此参数的可接受值:

  • 最快。 使用可用的最快压缩方法来缩短处理时间。 更快的压缩可能会导致更大的文件大小。

  • NoCompression。 不压缩源文件。

  • 最佳: 处理时间取决于文件大小。

4

-PassThru

使 cmdlet 输出表示所创建的存档文件的文件对象。

5

-WhatIf

显示运行该 cmdlet 时会发生什么情况。

6

-Confirm

提示你在运行 cmdlet 之前进行确认。

7

-Force

强制运行命令而不要求用户确认。如果目标文件已经存在,则直接覆盖

8

-Update

汇报指定的存档,方法是将存档中的较旧文件版本替换为具有相同名称的较新文件版本。 此外,还可添加此参数,将文件添加到现有存档。

举例:备份如下目录中的文件,但是不包含:node_modules 子目录

备份的zip文件位于: Z:\Documents\sensorwu\VUE\VUE3\Backup.zip

$compress = @{
  Path = "Z:\Documents\sensorwu\VUE\VUE3\szhn_app_vue3\dist", "Z:\Documents\sensorwu\VUE\VUE3\szhn_app_vue3\public","Z:\Documents\sensorwu\VUE\VUE3\szhn_app_vue3\src","Z:\Documents\sensorwu\VUE\VUE3\szhn_app_vue3\*.*"
  CompressionLevel = "Fastest"
  DestinationPath = "Z:\Documents\sensorwu\VUE\VUE3\Backup.zip"
}
Compress-Archive @compress

压缩后文件用winrar打开:

$compress = @{
  Path = "Z:\Documents\sensorwu\VUE\VUE3\szhn_app_vue3\*"
  CompressionLevel = "Fastest"
  DestinationPath = "Z:\Documents\sensorwu\VUE\VUE3\Backup.zip"
}
Compress-Archive @compress
Expand-Archive(解压缩文件
Expand-Archive
      [-Path] <String>
      [[-DestinationPath] <String>]
      [-Force]
      [-PassThru]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

举例:将上面备份的文件解压缩到:Z:\Documents\sensorwu\VUE\VUE3\szhn_Demo 目录中。

Expand-Archive -Path "Z:\Documents\sensorwu\VUE\VUE3\Backup.zip" -DestinationPath "Z:\Documents\sensorwu\VUE\VUE3\szhn_Demo"

解压后的效果:

在学习PowerShell之前,我使用的是WinRar的命令行模式,也可以实现压缩和解压缩功能,但是有个问题就是必须安装WinRar,使用PowerShell就无需安装WinRar程序了。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海纳老吴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值