#!/system/bin/sh MODDIR="${0%/*}" bin_path="${MODDIR%/*}/tools/bin" [[ ! -d $bin_path ]] && echo "$bin_path目錄遺失" && exit 1 . "$bin_path/bin.sh" #記錄開始時間 starttime1="$(date -u "+%s")" echo_log() { if [[ $? = 0 ]]; then echoRgb "$1成功" "1" && result=0 else echoRgb "$1恢複失敗,過世了" "0" && result=1 fi } Release_data() { tar_path="$1" FILE_NAME="${tar_path##*/}" FILE_NAME2="${FILE_NAME%%.*}" echoRgb "恢復$FILE_NAME2數據" "2" && usertar="1" case ${FILE_NAME##*.} in lz4) pv "$1" | tar -I lz4 -xPpf - ; Set_back ;; zst) pv "$1" | tar -I zstd -xPpf - ;; tar) pv "$1" | tar -xPpf - ;; *) (echoRgb "$FILE_NAME 壓縮包不支持解壓縮" "0" ; Set_back) esac echo_log "$FILE_NAME 解壓縮($FILE_NAME2)" } starttime1="$(date -u "+%s")" A=1 B="$(find "$MODDIR" -maxdepth 1 -name "*.tar*" -type f | wc -l)" find "$MODDIR" -maxdepth 1 -name "*.tar*" -type f | while read; do echoRgb "恢復第$A/$B個壓縮包 剩下$((B-A))個" Release_data "$REPLY" echoRgb "完成$((A*100/B))%" && let A++ done endtime 1 "恢複結束"