winrar怎么编写批量解压脚本

WinRAR WinRAR 20

本文目录导读:

winrar怎么编写批量解压脚本-第1张图片-WinRAR 压缩软件 - 多格式解压文件归档工具

  1. 方法1:使用批处理文件 (.bat)
  2. 方法2:使用UnRAR命令行工具
  3. 方法3:高级选项脚本
  4. 方法4:PowerShell脚本
  5. 常用WinRAR命令行参数说明
  6. 使用步骤

我来教你编写WinRAR批量解压脚本,提供几种常见的方法:

方法1:使用批处理文件 (.bat)

基础批量解压脚本

@echo off
for %%f in (*.rar) do (
    "C:\Program Files\WinRAR\WinRAR.exe" x -y "%%f" "%%~nf\"
)
echo 解压完成!
pause

设置密码的脚本

@echo off
set "password=你的密码"
for %%f in (*.rar) do (
    "C:\Program Files\WinRAR\WinRAR.exe" x -y -p%password% "%%f" "%%~nf\"
)
echo 解压完成!
pause

指定解压目录的脚本

@echo off
set "target_dir=D:\解压文件"
if not exist "%target_dir%" mkdir "%target_dir%"
for %%f in (*.rar) do (
    "C:\Program Files\WinRAR\WinRAR.exe" x -y "%%f" "%target_dir%\%%~nf\"
)
echo 解压完成!
pause

方法2:使用UnRAR命令行工具

WinRAR安装目录下自带 UnRAR.exe

@echo off
for %%f in (*.rar) do (
    "C:\Program Files\WinRAR\UnRAR.exe" x -y "%%f" "%%~nf\"
)
echo 解压完成!
pause

方法3:高级选项脚本

@echo off
echo WinRAR批量解压工具
echo ====================
REM 设置参数
set "rar_path=C:\Program Files\WinRAR\WinRAR.exe"
set "password="
set "target_dir=.\解压文件"
set "extensions=*.rar *.zip *.7z"
REM 检查WinRAR是否存在
if not exist "%rar_path%" (
    echo 错误:找不到WinRAR程序!
    pause
    exit /b 1
)
REM 创建目标目录
if not exist "%target_dir%" mkdir "%target_dir%"
REM 批量解压
echo 开始批量解压...
for /r %%f in (%extensions%) do (
    echo 正在解压:%%f
    if "%password%"=="" (
        "%rar_path%" x -y -o+ "%%f" "%target_dir%\%%~nf\" >nul 2>&1
    ) else (
        "%rar_path%" x -y -o+ -p%password% "%%f" "%target_dir%\%%~nf\" >nul 2>&1
    )
    if %errorlevel% equ 0 (
        echo 解压成功:%%~nxf
    ) else (
        echo 解压失败:%%~nxf
    )
)
echo 解压完成!
pause

方法4:PowerShell脚本

# 批量解压脚本.ps1
$rarPath = "C:\Program Files\WinRAR\WinRAR.exe"
$password = ""  # 如果有密码,在这里填写
$targetDir = ".\解压文件"
# 创建目标目录
if (-not (Test-Path $targetDir)) {
    New-Item -ItemType Directory -Path $targetDir
}
# 获取所有RAR文件
$rarFiles = Get-ChildItem -Path . -Filter *.rar
foreach ($rar in $rarFiles) {
    $outputDir = Join-Path $targetDir $rar.BaseName
    Write-Host "正在解压:$($rar.Name)"
    $arguments = @("x", "-y", $rar.FullName, "$outputDir\")
    if ($password) {
        $arguments = @("x", "-y", "-p$password", $rar.FullName, "$outputDir\")
    }
    & $rarPath $arguments
}
Write-Host "解压完成!"

常用WinRAR命令行参数说明

参数 说明
x 解压并保留完整路径
e 解压到当前目录(不保留路径)
-y 自动确认所有操作
-o+ 覆盖已有文件
-o- 不覆盖已有文件
-p密码 设置解压密码
-ibck 后台运行

使用步骤

  1. 新建文本文件,粘贴上述任意脚本
  2. 保存文件,扩展名改为 .bat.ps1
  3. 将脚本放入 包含RAR文件的文件夹
  4. 双击运行 脚本

注意:如果WinRAR安装路径不同,请修改脚本中的 rar_path 变量。

标签: 脚本编写

抱歉,评论功能暂时关闭!