获取 Zip 文件夹的计数 + 匹配大小的Powershell



尝试获取包含例如 30 个 CSV 文件的 zip 文件夹的计数测试文件夹有 30 个 csv 文件

$directoryInfo = Get-ChildItem "$TEST*.csv" | Measure-Object
$directoryInfo.count

所有 30 个 csv 文件将被压缩到一个 zip 文件夹 = TESTZIP1.zip位于 TEST 文件夹内。

如果我尝试运行以下命令来测量压缩文件夹中有多少文件,我得到 0 作为答案

 $backUP = Get-ChildItem "$zipfiletestTESTZIP1.zip*.csv" | Measure-Object
 $backUP.count

目标:能够计算((zip文件夹中有多少文件,如果zip文件夹的文件数量与TEST文件夹相同,则发送电子邮件。

如果你想计算zip文件中的文件,你可以这样做:

$ZipFile = [System.IO.Compression.ZipFile]::Open("$zipfiletestTESTZIP1.zip",[System.IO.Compression.ZipArchiveMode]::Read)
$ZipFile.Entries.count
$ZipFile.Dispose()

如果要检查 zip 文件内的任何其他内容,可以轻松浏览 $ZipFile 变量的其他参数

$fileToCheck = Get-Item -Path (Join-Path -Path "C:Users" -ChildPath test.zip) - ErrorAction SilentlyContinue
$ZipFiles = Get-ChildItem -Path $fileToCheck -Recurse -Filter '*.zip'
$Shell = New-Object -ComObject Shell.Application
$Results = foreach( $fileToCheck in $ZipFiles ){
  $DATCount = $Shell.NameSpace($fileToCheck.FullName).Items() |
    Where-Object { $_.Name -match '.dat$' } |
    Measure-Object |
    Select-Object -ExpandProperty count

最新更新