当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 压缩文件或文件夹?

作者:精品下载站 日期:2024-12-15 00:27:57 浏览:12 分类:玩电脑

如何使用 PowerShell 压缩文件或文件夹?


[玩转系统] 如何使用 PowerShell 压缩文件或文件夹?

介绍

无论是与同事共享文件还是备份我们自己的数据,将文件和文件夹压缩为 zip 存档都可以节省存储空间并减少传输时间。您是否厌倦了在计算机上手动压缩文件或文件夹?您是否觉得压缩大量数据既耗时又乏味? PowerShell 就是您的最佳选择!在本初学者指南中,我们将探讨如何使用 PowerShell 压缩文件或文件夹,PowerShell 是一种强大的脚本语言,旨在自动执行任务和管理配置。我们的分步教程将涵盖各种技术,包括如何从文件夹创建 zip 文件、将文件添加到现有 zip 存档以及使用 PowerShell 命令压缩多个文件和文件夹。让我们开始吧!

了解压缩文件和文件夹的好处

压缩文件和文件夹是节省计算机磁盘空间或更轻松地与他人共享文件的好方法。当您压缩文件或文件夹时,您实际上是在创建一个更小、更紧凑的版本,占用的硬盘空间更少。如果您有很多不需要经常访问的大文件或文件夹,这会特别有用。

压缩文件和文件夹的另一个好处是可以更轻松地与其他人共享它们。如果您通过电子邮件或其他消息传递平台向某人发送文件或文件夹,则可能会遇到大小限制,导致您无法按原样发送文件或文件夹。通过压缩,您可以创建一个更易于发送的较小版本,并且消息传递平台不会拒绝该版本。使用 PowerShell,您可以自动执行此任务并使其更加高效。

但为什么要使用 PowerShell 而不是图形用户界面 (GUI) 工具呢?首先,使用 PowerShell 比使用 GUI 工具要快得多,特别是当您需要压缩大文件或文件夹时。您只需几行代码即可在几秒钟内创建压缩存档。其次,PowerShell 在压缩文件或文件夹时提供了更大的灵活性和自动化。您可以轻松创建脚本来自动执行重复任务的压缩过程。

如何使用 Compress-Archive cmdlet 压缩文件?

使用 Compress-Archive cmdlet,使用 PowerShell 压缩文件是一个快速而简单的过程。它首次在 PowerShell 5.0 中引入,从此成为流行的工具。要使用 PowerShell 压缩单个文件,请输入以下命令:


Compress-Archive "C:\Temp\Logs.txt" "C:\Temp\Logs.zip"

压缩存档 cmdlet 采用两个参数:源文件和目标文件。上述命令将通过压缩“Logs.txt”文件在“C:\Temp”文件夹中创建一个名为“Logs.zip”的Zip文件。将参数替换为源文件名和压缩存档的文件名。

[玩转系统] 如何使用 PowerShell 压缩文件或文件夹?

就是这样!您现在已经使用 PowerShell 压缩了单个文件。这是一个简单的过程,可以节省您大量的时间和精力。

使用 PowerShell 从文件夹创建 Zip 文件

使用 PowerShell 压缩整个文件夹是一种简单而有效的方法,可以帮助您将大型文件和文件夹压缩为单个更易于管理的文件。 Compress-Archive cmdlet 提供了一种在 PowerShell 中创建压缩存档的简单而有效的方法。要使用本机 PowerShell 命令从文件夹创建 zip 文件,请使用以下命令,将“C:\Source”替换为文件夹的路径,将“C:\Destination\Archive.zip”替换为所需的输出 zip 文件路径:


Compress-Archive -Path C:\Source -DestinationPath C:\Destination\Archive.zip

该 cmdlet 采用两个强制参数(源路径和目标路径)来创建压缩存档。在上面的示例中,我们压缩 C:\Source 目录中的所有文件和文件夹,并在 C:\Destination 目录中创建名为 Archive.zip 的压缩存档。

使用 PowerShell 压缩多个文件和文件夹

如果您有多个要压缩的文件或文件夹,可以使用 Compress-Archive cmdlet 一次性压缩所有文件或文件夹。以下是如何使用 PowerShell 压缩多个文件或文件夹的示例。在此示例中,我们压缩位于 C:\Source 目录中的 Invoice_v1.docx 和 Invoice_v2.docx,并在 C:\Destination 目录中创建名为 Archive.zip 的压缩存档。


Compress-Archive -Path "C:\Source\Invoice_v1.docx", "C:\Source\Invoice_v2.docx" -DestinationPath "C:\Destination\Docs.zip"

命令运行完成后,您可以检查压缩存档以确保其创建正确。您可以通过导航到保存存档的位置并双击将其打开来完成此操作。您还可以在 Path 参数中使用通配符(星号),这允许您选择与模式匹配的多个文件(但“Compress-Archive -LiteralPath”不接受通配符!)。例如,让我们压缩一个文件夹中的所有 .LOG 文件:


Compress-Archive -Path "C:\Logs\*.log" -DestinationPath "C:\Archive\Logs.zip"

您还可以将文件和文件夹合并到一个 zip 文件中,如下所示:


Compress-Archive -Path "C:\Source\Invoice_v1.docx", "C:\Reports" -DestinationPath "C:\Destination\Docs.zip"

压缩文件夹中的每个子文件夹以创建多个存档文件

如何归档每个子文件夹(在给定文件夹的第一层)?


# Parameters
$Source = "C:\Temp"
$Destination = "C:\Archive"
 
# Get all 1st level Sub-Folders in the Source
Get-ChildItem $Source -Directory | ForEach-Object {
    $FolderName = $_.Name
    $FolderPath = $_.FullName
    #Zip the Sub-Folder
    Compress-Archive -Path $FolderPath -DestinationPath $Destination$FolderName 
}

该脚本将给定根目录中的所有子目录(空子文件夹除外)压缩到一个单独的 zip 文件中。同样,您可以使用 Get-ChildItem cmdlet 中的“-File”开关将每个文件压缩到文件夹中。这是源文件夹:

[玩转系统] 如何使用 PowerShell 压缩文件或文件夹?

以及包含 zip 文件的目标文件夹;

[玩转系统] 如何使用 PowerShell 压缩文件或文件夹?

通过添加新文件来更新 zip 存档

如果要将更多文件夹或文件添加到 zip 存档中,可以使用 -Update 参数,后跟要添加的文件夹或文件的路径。例如:


Compress-Archive -Path [path to folder or file] -DestinationPath [Existing zip archive name].zip -Update

例如,以下命令会将“C:\Temp\NewLogs.txt”添加到现有的 zip 文件“C:\Temp\Logs.zip”中


Compress-Archive -Path "C:\Temp\NewLogs.txt" -DestinationPath "C:\Temp\Logs.zip" -Update

确保将“[文件夹或文件路径]”替换为要压缩的文件夹或文件的实际路径。如果目标文件已经存在,可以使用-Force参数覆盖它。

自定义压缩级别

如果要自定义 zip 存档的压缩级别,可以通过选择 PowerShell 中可用的压缩级别来实现。 PowerShell 提供多种压缩级别,包括:

  • NoCompression(根本不压缩文件)
  • 最佳(尽可能压缩文件)
  • 最快(压缩级别最快可能会减少处理时间。但它可能会导致文件大小更大!)

选择正确的压缩级别取决于您的具体需求和要压缩的文件。要在 PowerShell 中调整压缩级别,您可以使用“- CompressionLevel”参数,后跟所需的级别。例如,要将压缩级别设置为“最佳”,您可以这样做:


Compress-Archive -Path "C:\Temp\Docs" -DestinationPath "C:\Temp\Docs.zip" -CompressionLevel Optimal

您可以将“最佳”替换为所需的压缩级别,并根据需要应用最快的压缩方法。当未指定 -CompressionLevel 参数时,默认设置为最佳。

解决压缩存档的常见问题

虽然 Compress-Archive cmdlet 是一个强大的文件压缩工具,但您在使用它时可能会遇到一些问题。以下是一些常见问题及其解决方案。

  • “Compress-Archive 未被识别为 cmdlet 的名称”错误消息:当 Compress-Archive cmdlet 在您的 PowerShell 版本中不可用时,会出现此错误。 Microsoft 已在 Windows PowerShell 版本 5.0 中添加了此 cmdlet。因此,请确保您的 PowerShell 版本是最新的。
  • “路径不是合法形式”错误消息:当源或目标路径不正确或包含非法字符时,会出现此错误。确保您指定了正确的路径并且不包含非法字符。
  • “访问路径被拒绝”错误消息:当您无权访问源路径或目标路径时,会出现此错误。确保您具有访问指定路径所需的权限。

在 PowerShell 中使用压缩存档的最佳实践

以下是在 PowerShell 中使用 Compress-Archive cmdlet 时需要记住的一些最佳实践。

  • 始终正确指定源路径和目标路径以避免错误。
  • 为压缩档案使用有意义的文件名,使其更易于识别。如果您有大量需要跟踪的压缩文件或文件夹,这会特别有用。
  • 使用压缩级别来平衡文件大小和压缩时间。
  • 在生产环境中使用 PowerShell 脚本之前,请对其进行彻底测试。
  • 压缩不需要经常访问的文件和文件夹。如果您经常打开和关闭文件或文件夹,则可能不值得花费时间和精力来压缩和解压缩。

结论

使用 PowerShell 压缩文件和文件夹是将大文件压缩为小文件的一种快速而简单的方法。在本初学者指南中,我们介绍了创建压缩存档、压缩多个文件或文件夹以及更新现有压缩存档的基础知识。我们还讨论了压缩级别、常见问题排查以及在 PowerShell 中使用 Compress-Archive 的最佳实践。

有了这些知识,现在您已经学会了如何在 PowerShell 中使用 Compress-Archive,您可以开始自动执行文件压缩任务并更有效地管理文件。通过执行本文中概述的步骤,您可以轻松压缩文件和文件夹。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯