簡體   English   中英

使用PowerShell對zip文件中的文件和文件夾進行計數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM