Skip to content
This repository has been archived by the owner on Dec 24, 2023. It is now read-only.

批量转换

Jixun Wu edited this page Dec 10, 2022 · 4 revisions

可以利用 find、awk、xargs 三个工具进行批量替换。

※ Windows 用户需要 bash 环境,如 Git for Windows 提供的终端或 WSL 环境。

首先定义批量转换函数:

# 需要提前填写的变量
QMC2_SIMPLE_KEY_SEED=""
QMC2_MIX_KEY_1=""
QMC2_MIX_KEY_2=""

decode_qmcv2_dir() {
  find "$2" -regex '.*\.\(mflac\|mgg\)[0-9]?$' | awk '{
    FILE_SRC = $0
    FILE_DST = FILE_SRC
    gsub(/\.mflac\d?$/, ".flac", FILE_DST)
    gsub(/\.mgg\d?$/, ".ogg", FILE_DST)
    print FILE_SRC "\n" FILE_DST
  }' | xargs -d'\n' -n2 "$1" "$QMC2_SIMPLE_KEY_SEED" "$QMC2_MIX_KEY_1" "$QMC2_MIX_KEY_2"
}

调用方法:decode_qmcv2_dir "<QMC2-decoder 路径>" "<需要解密的目录>"

decode_qmcv2_dir "/path/to/QMC2-decoder" "/path/to/mflac/and/mgg"

例:QMC2-decoder 解密程序与 mflac/mgg 文件均位于当前目录,执行下述指令进行批量转换:

decode_qmcv2_dir "./QMC2-decoder" "."

※ Windows 下需要添加 .exe 后缀,即:

decode_qmcv2_dir "./QMC2-decoder.exe" "."
Clone this wiki locally