在 Windows 上向 zip 文件添加顶层空目录

在 Windows 上向 zip 文件添加顶层空目录

使用 Windows 创建 zip 文件时,如果添加空文件夹,它会给出错误消息并将其排除。如果您添加的目录包含空的子目录,则没有问题,但如果您想添加一个空文件夹作为顶级文件夹,那么该怎么做?

指定的目录为空,因此压缩文件夹无法将其添加到存档中。 显示该错误消息的图像。

Windows 无法将一个或多个空目录添加到压缩文件夹。 显示此警告消息的图像。

答案1

使用带有 .NET 4.5 或更高版本的 PowerShell,您可以在新的或现有的 zip 文件中手动创建一个空目录:https://stackoverflow.com/a/52395011/1507941

  1. 打开 PowerShell 提示符。
  2. 输入以下命令,根据需要替换文件名:
Add-Type -Assembly 'System.IO.Compression'
Add-Type -Assembly 'System.IO.Compression.FileSystem'

# Must be used for relative file locations with .NET functions instead of Set-Location:
[System.IO.Directory]::SetCurrentDirectory('.\Desktop')

# Replace "Update" with "Create" if creating a new zip file
$zip = [System.IO.Compression.ZipFile]::Open('archive.zip', [System.IO.Compression.ZipArchiveMode]::Update)

# Get folder to be created
$existingFile = Get-Item 'Empty Folder'

# Create directory copying its attributes
$entry = $zip.CreateEntry($existingFile.Name + '/')

# Set modified date manually to match empty folder you wanted to add
$entry.LastWriteTime = $existingFile.LastWriteTime

# Closes file and allows it to be opened elsewhere
$zip.Dispose()

请随意查看这个库的文档:https://learn.microsoft.com/en-us/dotnet/api/system.io.compression

相关内容