首页 > 解决方案 > Powershell查找文件夹中的所有文件不受密码保护的ZIP并删除它们

问题描述

我找到了这个-> https://superuser.com/questions/1150631/powershell-script-to-test-zip-passwords-from-file -> 但看起来我需要的有点不同。

是否可以找到文件夹中不受密码保护的所有文件并将其删除?

试图解决人们将各种敏感文件放在不应该放在这些文件的地方的问题。

标签: powershellsecurity

解决方案


您可以尝试以下方法:

Get-ChildItem -Filter *.zip |
  Where-Object { '' | 7z t $_.FullName *>$null; $LASTEXITCODE -eq 0 } |
    Remove-Item -WhatIf

注意:上面命令中的-WhatIf常用参数是预览操作。-WhatIf 一旦您确定该操作将执行您想要的操作,请删除。

  • 以上使用7z't命令来验证存档完整性。

  • 受密码保护的存档触发密码提示,管道输入 - 空字符串 ( '' | ...) - 提供响应,导致完整性验证由于密码无效而失败7z,该密码通过非零退出代码报告,反映在 PowerShell 的

  • $LASTEXITCODE -eq 0因此$true仅返回通过完整性测试的档案,即没有密码保护的档案(7z然后忽略不需要的管道输入)。


推荐阅读