我找到了这个 - > https://superuser.com/questions/1150631/powershell-script-to-test-zip-passwords-from-file - >但看起来我需要的有点不同。
是否可以找到文件夹中不受密码保护的所有文件并将其删除?
试图解决人们将各种敏感文件放在不该放的地方的问题。
您可以尝试以下方法:
Get-ChildItem -Filter *.zip |
Where-Object { '' | 7z t $_.FullName *>$null; $LASTEXITCODE -eq 0 } |
Remove-Item -WhatIf
-WhatIf
常用参数预览操作。一旦您确定该操作将执行您想要的操作,请删除 -WhatIf
。
上面使用
7z
的t
命令来验证存档完整性。
受密码保护的存档会触发密码提示,管道输入 - 空字符串 (
'' | ...
) - 会提供响应,导致完整性验证因密码无效而失败,7z
通过以下方式报告非零退出代码,反映在 PowerShell 的 自动 $LASTEXITCODE
变量。
$LASTEXITCODE -eq 0
仅对通过完整性测试的档案返回$true
,这些档案是没有密码保护的档案(7z
然后忽略不需要的管道输入)。