Shell-Script
批量提取和重新打包 .RAR 文件
我正在處理大量受密碼保護的 .rar 文件,這些文件需要重新打包以刪除密碼。(密碼是已知的。)我想知道是否有一個腳本可以批量/遞歸地提取和重新打包它們,同時保持與以前相同的名稱和目錄結構。
我會把這個任務分成兩個元素,第一個是你需要一個腳本
rerar
來提取和建構 rar 並將 rar 的名稱作為參數:#!/bin/bash R="$PWD"/"$1" # if realpath is available you can use R=$(realpath "$1") tmpdir=$(mktemp -d --suff rerar) pushd "$tmpdir" # extract preserving directory structure of the archive # replace YOUR_PASS_WORD in the next line, with no space after "-p"! unrar x -pYOUR_PASS_WORD "$R" # backup the rar file, optional mv "$R" "$R".org # re-create recursively going over the files here rar a -r "$R" . popd rm -rf "$tmpdir"
現在你只需要在所有涉及的 rar 文件上執行它,例如使用
find
find . -name "*.rar" -exec ./rerar {} \;
它不如使用多個參數呼叫腳本高效,但這裡耗時的操作是重新創建 rar 存檔,這就是我選擇簡單解決方案的原因。