[英]Count files and folders in a zip file using PowerShell
您如何計算zip文件中的文件和文件夾? 我正在運行備份驗證,需要將zip文件的文件夾結構與Windows文件夾的文件夾結構進行比較。 最終目標是具有布爾值,如果源計數等於zip內容計數。 到目前為止,這是我所擁有的:
[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') |out-null
$ZipContents=[IO.Compression.ZipFile]::OpenRead($FilePath).Entries
$ZipContents.Count
這得到了所有內容的原始計數,但是希望有不同的文件計數和文件夾計數,或者希望通過某種方式比較結構。 使用7-zip也可以。 這些zip文件可能會變得非常大,因此,首先提取文件將非常耗時,無法選擇。
如果可以使用7z.exe
,則可以執行以下操作:
& 'C:\Program Files\7-Zip\7z.exe' l <zipfilename> |
Select-Object -Last 1 |
Select-String '([0-9]+) files, ([0-9]+) folders' |
ForEach-Object {
$fileCount = [Int] $_.Matches[0].Groups[1].Value
$dirCount = [Int] $_.Matches[0].Groups[2].Value
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.