Powershell读取zip文件中的文件夹名称和计数文件



我是powershell的新手。我有一个zip文件,结构如下:
file.zip

Folder1

, 包含10个文件的文件夹

, 包含5个文件的文件夹

Folder2

,,文件夹21包含7个文件

log.txt

我的目标是得到以下结果:
-Folder1包含15个文件
-Folder2包含7个文件

感谢您的帮助

此代码不直接从.zip文件中读取。据我所知,这样做需要更多的工作。相反,它将存档的内容提取到一个临时目录中,递归地获取每个目录中的文件夹和项数,然后删除临时目录。

Add-Type -Assembly "System.IO.Compression.FileSystem"
$zipFile = "path-to-zip-file"
$outPath = "path-to-temp-dir"
$hash = @{}
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipFile, $outPath)
Get-ChildItem -Path $outPath -Recurse -Directory | ForEach-Object {
$hash.Add($_.FullName,((Get-ChildItem -Path $_.FullName | Measure-Object).Count))
}
Write-Host $hash
Remove-Item $outPath -Recurse

最新更新