迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

使用 PowerShell 压缩和解压缩文件

作者:迹忆客 最近更新:2024/02/06 浏览次数:

在 PowerShell 5.0 中,Microsoft 具有用于创建 zip 存档和从现有存档中提取文件的命令。本文将讨论用于归档和解压缩压缩文件的 PowerShell 命令。

以下命令是 PowerShell v5.0 中发布的两个最新 cmdlet:Compress-Archive 命令从文件夹或单个文件创建压缩存档文件,Expand-Archive 命令从压缩存档文件中提取文件。


使用 PowerShell 压缩文件

让我们使用 PowerShell 将文件压缩到一个新的 .zip 档案中。

使用 -Path 参数指定我们要压缩的文件夹的位置,使用 -DestinationPath 参数指定要创建的压缩档案的名称。

例如,下面的命令将压缩 C:根目录中的 Temp 文件夹,并在 Temp 文件夹中创建一个名为 Temp_Files.zip 的存档:

Compress-Archive -Path C:\Temp -DestinationPath C:\Temp\Temp_Files.zip

或者,我们可以使用 -LiteralPath 参数而不是 -Path 参数单独压缩 Temp 文件夹中的文件。这将创建一个仅包含 -LiteralPath 参数中列出的两个文件的存档:

Compress-Archive -LiteralPath C:\Temp\File1.txt, C:\Temp\File2.txt -DestinationPath C:\Temp\Temp_Files.zip -Force

我们添加了 -Force 参数来覆盖我创建的第一个存档。如果没有 -Force 参数,你将无法替换现有存档,Windows PowerShell 将提示你将文件添加到存档中。

要将多个文件添加到存档中,我们可以使用 -Update 参数。例如,下面的命令将 Invoices 文件夹中的所有文件添加到我现有的 Temp_Files.zip 存档中:

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip

我们还可以将 -CompressionLevel 参数与三个值之一一起使用:NoCompressionOptimalFastest

如果表达式中不存在 -CompressionLevel 参数,则 Optimal 是默认值。Optimal 压缩使用最佳压缩,但它可能需要比 Fastest 更长的时间。

使用 NoCompression 值创建不压缩的存档。

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip -CompressionLevel Optimal

使用 PowerShell 解压缩文件

要从存档中提取文件,我们需要指定存档的名称和解压缩文件的目标文件夹。

使用 Expand-Archive 命令会将 Temp_Files.zip 存档的内容提取到 Temp 文件夹。

Expand-Archive -LiteralPath C:\Temp\Temp_Files.Zip -DestinationPath C:\Temp

Expand-Archive 将自动创建提取文件的文件夹。

但是,如果我们解压的压缩文件已经存在于目标文件夹中,Expand-Archive 会报错。我们可以通过在命令行中添加 -Force 参数来覆盖目标文件夹中的文件。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 PowerShell 获取磁盘空间信息

发布时间:2024/02/06 浏览次数:189 分类:编程语言

本文讨论了几个命令,这些命令将导出我们所有系统驱动器的信息,并了解如何使用 PowerShell 确定我们机器中剩余的驱动器空间。

在 PowerShell 中将项目添加到数组

发布时间:2024/02/06 浏览次数:153 分类:编程语言

本教程将教你在 PowerShell 中将项目添加到数组中。本教程将介绍在 PowerShell 中向数组添加项目。使用 += 将项目添加到 PowerShell 中的数组

在 PowerShell 中访问 $args 数组

发布时间:2024/02/06 浏览次数:155 分类:编程语言

本文将介绍 PowerShell 中的 $args 数组和 $args[] 函数。$args 是一个数组,因此你可以传递多个值并在 PowerShell 脚本或函数中访问它们。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便