一、使用前准备
- 安装 7-Zip:确保你的电脑上安装了 7-Zip 压缩软件。
- 确认路径:确认 7-Zip 安装在
C:\Program Files\7-Zip\7z.exe(如果不是,请修改脚本第一行的路径)。
二、如何使用
$7zPath = “C:\Program Files\7-Zip\7z.exe”
$ParentFolder = $PSScriptRoot
$Passwords = @(“猫里奥小新”, “小猫喝奶啤”)
Write-Host “========================================” -ForegroundColor Cyan
Write-Host ” 先解压,后删除 (最稳妥)” -ForegroundColor Cyan
Write-Host “========================================” -ForegroundColor Cyan
if (-not (Test-Path $7zPath)) {
Write-Host “[错误] 找不到 7-Zip” -ForegroundColor Red
pause
exit
}
$SubFolders = Get-ChildItem -Path $ParentFolder -Directory
foreach ($Folder in $SubFolders) {
Write-Host “`n[文件夹] $($Folder.Name)” -ForegroundColor White
Set-Location $Folder.FullName
$CurrentDir = $Folder.FullName
$AllDone = $false # 标记是否全部完成
# =========================================================
# 第一步:解压初始分卷
# =========================================================
$PartFile = Get-ChildItem -Filter “*.part1.rar” | Select-Object -First 1
if (-not $PartFile) { $PartFile = Get-ChildItem -Filter “*.rar” | Select-Object -First 1 }
if ($PartFile) {
Write-Host ” [1/5] 正在解压分卷…” -ForegroundColor Gray
& $7zPath x $PartFile.FullName -y -o”$CurrentDir” | Out-Null
$JpgFile = Get-ChildItem -Filter “*.JPG” | Select-Object -First 1
if ($JpgFile) {
$NewName = $JpgFile.BaseName + “.rar”
if (Test-Path $NewName) { Remove-Item $NewName -Force }
Rename-Item -Path $JpgFile.FullName -NewName $NewName -Force
Write-Host ” [2/5] JPG -> RAR 重命名成功” -ForegroundColor Green
} else { Set-Location $ParentFolder; continue }
} else { Set-Location $ParentFolder; continue }
# =========================================================
# 第二步:第一次带密码解压
# =========================================================
$RarStage1 = Get-ChildItem -Filter “*.rar” | Where-Object { $_.Name -notlike “*.part*” } | Select-Object -First 1
if ($RarStage1) {
$Success = $false
Write-Host ” [3/5] 正在尝试第一次密码解压…” -ForegroundColor Gray
foreach ($Pwd in $Passwords) {
& $7zPath x $RarStage1.FullName -y -o”$CurrentDir” -p”$Pwd” | Out-Null
$DirtyFile = Get-ChildItem | Where-Object { $_.Name -like “*删除汉字*” } | Select-Object -First 1
if ($DirtyFile) {
$Success = $true
Write-Host ” -> 密码正确 ($Pwd)” -ForegroundColor Green
$CleanName = $DirtyFile.Name -replace “删除汉字”, “”
if (Test-Path $CleanName) { Remove-Item $CleanName -Force }
Rename-Item -Path $DirtyFile.FullName -NewName $CleanName -Force
break
}
}
if (-not $Success) { Set-Location $ParentFolder; continue }
}
# =========================================================
# 第三步:最后一次解压
# =========================================================
$RarStage2 = Get-ChildItem -Filter “*.rar” | Where-Object { $_.Name -notlike “*.part*” } | Select-Object -First 1
if ($RarStage2) {
$Success = $false
Write-Host ” [4/5] 正在尝试最终解压…” -ForegroundColor Gray
foreach ($Pwd in $Passwords) {
& $7zPath x $RarStage2.FullName -y -o”$CurrentDir” -p”$Pwd” | Out-Null
# 检查是否成功(只要文件夹里除了这个rar还有别的东西,或者rar消失了)
$CheckFile = Get-ChildItem | Where-Object { $_.Name -ne $RarStage2.Name -and $_.Name -notlike “*.part*” }
if ($CheckFile) {
$Success = $true
$AllDone = $true
Write-Host ” -> 密码正确 ($Pwd)” -ForegroundColor Green
break
}
}
if ($Success) {
Write-Host ” [5/5] 全部解压成功!” -ForegroundColor Green
}
}
# =========================================================
# 【新增】最后一步:统一删除所有压缩包
# =========================================================
if ($AllDone) {
Write-Host ” [清理] 正在删除所有压缩包文件…” -ForegroundColor Gray
# 删除所有 .part1.rar, .part2.rar…
Get-ChildItem -Path $CurrentDir -Filter “*.part*.rar” -ErrorAction SilentlyContinue | Remove-Item -Force
# 删除所有 .rar (为了防止误删,我们可以稍微等一下,或者直接删)
Get-ChildItem -Path $CurrentDir -Filter “*.rar” -ErrorAction SilentlyContinue | Remove-Item -Force
Write-Host ” [完成] 清理完毕!” -ForegroundColor Green
}
Set-Location $ParentFolder
}
Write-Host “`n脚本执行完毕。” -ForegroundColor Cyan
pause
- 复制脚本:将上面提供的完整代码复制。
- 创建脚本文件:
- 在电脑上新建一个文本文档。
- 将代码粘贴进去。
- 点击 “文件” -> “另存为”。
- 文件名改为
批量解压.ps1(注意后缀是.ps1不是.txt)。 - 关键步骤:编码选择 “UTF-8 with BOM”(这一步很重要,否则中文密码会乱码)。
- 放置脚本:将保存好的
批量解压.ps1放到你的父文件夹内(和需要解压的子文件夹同级)。 - 运行脚本:
- 在父文件夹空白处,按住
Shift键并点击鼠标右键。 - 选择 “在此处打开 PowerShell 窗口” 或 “在终端中打开”。
- 输入
.\批量解压.ps1,然后按回车。
- 在父文件夹空白处,按住
- 等待完成:脚本会自动处理每一个子文件夹,你可以看到处理进度。
三、注意事项
- 先测试:建议先拿一个子文件夹做测试,确认解压流程无误后再批量处理。
- 文件恢复:脚本是在确认最终解压成功后才会删除压缩包,相对安全。但如果不放心,可以在第一次使用时注释掉删除部分的代码。
- 密码修改:如果你的压缩包密码不同,请修改脚本开头的
$Passwords变量。

![母娘调教[SLG/PC/步兵/SecretGarden]-EoHut 电光小屋](https://img.eohut.com/upldata/2026/06/21/6a378d4bbbf9d.jpg)




![【SLG/官中/3D】AV导演生活[Ver1.016+步兵补丁+存档+能量不减CT]【PC/3.60G】-EoHut 电光小屋](https://image.acg.lol/file/2025/01/17/ss_fbc3f92d67ff77505b9b80db2d2aeef9bb0df28b.1920x1080.jpg)

暂无评论内容