PowerShell 解压
ZIP 文件类型通过将文件压缩为单个文件来最小化其大小。这种方法可以节省硬盘空间,加密信息,并使彼此交换文件变得简单。
PowerShell 使用 Expand-Archive 命令从 ZIP 文件所在的同一目录或指定目标路径上的特定 Zip 文件中提取文件和文件夹。
在这里,我们可以使用两种不同的语法进行删除。这两个可以单独使用,但不能组合使用。
Expand-Archive
语法 1
这里使用了路径属性,在给出路径时可以使用通配符。
Expand-Archive
[-Path] <String>
[[-DestinationPath] <String>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Expand-Archive
语法 2
下一个选项是文字路径。这里,给出的路径应该是准确的,因为它被认为是给定的,并且不允许使用通配符。如果路径包含转义字符,请将每个转义字符括在单引号内,以告诉 PowerShell 不应将任何字符解释为转义模式。
Expand-Archive
-LiteralPath <String>
[[-DestinationPath] <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Expand-Archive
参数
下面给出了最常用参数的名称和描述。
参数名称 | 说明 |
---|---|
-Confirm |
在运行 cmdlet 之前提示确认 |
-DestinationZip |
指定解压缩文件夹的路径。如果文件夹不存在,则创建目标文件夹 |
-Force |
在不确认的情况下强制执行 cmdlet |
-LiteralPath |
给出存档文件的路径。文字路径值完全按照其给定。 |
-PassThru |
输出从存档扩展的文件列表 |
-Path |
指定归档文件的路径 |
-WhatIf |
显示如果 cmdlet 在没有实际运行的情况下运行会发生什么 |
PowerShell 解压缩文件示例
示例 1:
当前目录中的当前存档文件的项目被提取到此示例中的 -DestinationPath
选项提供的文件夹中。
Expand-Archive -Path test.Zip -DestinationPath C:\Test
示例 2:
从存档中提取文件比创建文件更容易。你所要做的就是提供存档的名称和解压缩文件的目标位置。使用 Expand-Archive cmdlet,下面的代码将测试 zip 存档的内容导出到目标路径变量中的指定文件夹 TestUnzipped。
Expand-Archive -LiteralPath 'C:\Archives\test[v1].Zip' -DestinationPath C:\TestUnzipped
由于文件名包含可能被解释为通配符的字符,因此使用了 LiteralPath 选项。
如果不使用 -DestinationPath 参数,PowerShell 会将文件解压缩到当前根文件夹中,并使用 Zip 文件的文件名构建一个新文件夹。
当 PowerShell 尝试提取文件时,如果该目录现在存在于目标中,则会引发错误。使用 -Force
参数,你可以推送 PowerShell 以用新数据替换旧数据。
仅当确实不再需要旧文件时才应使用 -Force
参数,因为它将永久覆盖你计算机上的文件。
ZIP 文件将文件和目录压缩并存储到单个文档中。无需安装任何软件,PowerShell 就可以通过各种方法检索它们。上述方法适用于跨平台和原生应用程序。
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.