powershell - Powershell查找文件夹中的所有文件不受密码保护的ZIP并删除它们
问题描述
我找到了这个-> 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 -eq 0
因此$true
仅返回通过完整性测试的档案,即没有密码保护的档案(7z
然后忽略不需要的管道输入)。
推荐阅读
- vue.js - 如何将参数传递给 Vue 组件?
- java - 来自 tabula-java 的错误,CalledProcessError
- javascript - 在窗口滚动时检测到达容器底部
- python - 使用自定义属性使 SymPy 简化功能
- mysql - 是否有在 sql 表中的两条记录之间添加新记录的语法?
- javascript - 如何在子键 Firebase 中获取数据
- ios - 从 collectionView 单元格中获取和更新 UITableView 单元格单击
- jquery - 使用 mysql 驱动程序在 golang 中使用参数执行查询时出错
- haskell - Haskell 隐式参数和多态递归
- python-3.x - 无法对 index.html 页面使用有效的 Django 模型(在管理页面中输入了模块数据,但在 index.html 页面中不可见)