Powershell 查找未受密码保护的 ZIP 文件夹中的所有文件并将其删除
Powershell to find all files in a folder NOT password-protected ZIP and delete them
我找到了这个 -> 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
common parameter预览操作。一旦您确定该操作将执行您想要的操作,请删除 -WhatIf
。
以上使用7z
的t
命令来验证存档完整性。
受密码保护的存档触发密码提示,管道输入 - 空字符串 ('' | ...
) - 提供响应,导致完整性验证 由于密码无效而失败,7z
通过 非零 退出代码报告,反映在 PowerShell 的
$LASTEXITCODE -eq 0
因此 returns $true
只有通过完整性测试的档案,这些档案 没有 密码保护(7z
然后忽略不需要的管道输入)。
我找到了这个 -> 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
common parameter预览操作。一旦您确定该操作将执行您想要的操作,请删除 -WhatIf
。
以上使用
7z
的t
命令来验证存档完整性。受密码保护的存档触发密码提示,管道输入 - 空字符串 (
'' | ...
) - 提供响应,导致完整性验证 由于密码无效而失败,7z
通过 非零 退出代码报告,反映在 PowerShell 的$LASTEXITCODE -eq 0
因此 returns$true
只有通过完整性测试的档案,这些档案 没有 密码保护(7z
然后忽略不需要的管道输入)。