4个版本 (2个破坏性更新)
0.3.1 | 2022年12月15日 |
---|---|
0.3.0 | 2022年9月3日 |
0.2.0 | 2022年8月19日 |
0.1.0 | 2022年8月17日 |
#238 in 压缩
36KB
512 行
Warpa
Warpa是一个命令行工具,用于创建和从renpy存档(rpa)中提取。
程序完全支持v3.0和v2.0,并可以读取v3.2。
功能
- 快速多线程提取。 使用线程同时从多个存档中提取文件。使用
-m
启用单个存档的多线程提取,通过懒加载文件到内存作为需要。 - 内置glob模式支持。 内置的glob模式匹配支持允许使用模式添加和删除文件,以及提取和更新存档。
- 最小内存占用。 Warpa不会将存档读入内存。它将存档中的段复制到指定的位置(根据命令提取文件或临时存档)。
安装
cargo install --git https://github.com/mensch272/warpa
用法
以下示例重点介绍warpa命令行工具。有关warpalib的信息,请访问文档或查看示例。
USAGE:
warpa [OPTIONS] <SUBCOMMAND>
OPTIONS:
-h, --help
Print help information
-k, --key <KEY>
The encryption key used for creating v3 archives (default=0xDEADBEEF)
-o, --override-version
Override with default write version (3) if archive version does not support write
-v, --verbose
Provide additional information (default only shows errors)
-V, --version
Print version information
-w, --write-version <WRITE_VERSION>
The write version of archives
SUBCOMMANDS:
add Add files to existing or new archive
extract Extract files with full paths
help Print this message or the help of the given subcommand(s)
list List contents of archive
remove Delete files from archive
update Update existing archive by reading from filesystem
配置
密钥
密钥参数可以用来指定存档的索引表加密密钥。默认密钥为"0xDEADBEEF"。
warpa -k BA5E7023 add path/to/archive.rpa file.txt
添加
可以将文件添加到现有的存档中(会覆盖具有相同路径的现有文件)或使用以下方式创建新的存档:
warpa add path/to/archive.rpa file1.txt file2.txt
可以使用ARCHIVE=REAL模式将文件映射到与文件系统不同的路径。在下面的示例中,文件作为archive.txt存储,而读取自filesystem.txt。
warpa add path/to/archive.rpa archive.txt=filesystem.txt
或者,您可以根据glob模式添加文件。以下示例将images文件夹中的所有文件添加到存档中。
warpa add path/to/archive.rpa -p "images/**/*"
提取
使用以下命令将单个存档的内容提取到存档目录中:
warpa extract path/to/archive.rpa
或者,通过提供--out
选项显式指定提取目标。以下示例中,内容被提取到当前工作目录。
warpa extract path/to/archive.rpa -o .
通过连续提供多个存档来提取多个存档。
warpa extract path/to/archive.rpa path/to/another/archive.rpa
或者,使用glob模式选择当前工作目录(和子目录)中的特定文件。由于未指定--out
,文件将相对于存档目录提取。
warpa extract -a "**/*.rpa"
或者,您甚至可以使用Unix命令,例如find
find . -type f -name "*.rpa" | xargs warpa extract
Extract具有一个可选的实验性--memory
标志,该标志可以启用对存档的多线程读取。这允许同时从存档中提取多个文件。这对于包含许多文件的大型存档效果最佳。
warpa extract path/to/archive.rpa -m
列表
使用以下方法列出存档中的所有文件:
warpa list path/to/archive.rpa
删除
通过指定存档中的完整路径来从存档中删除文件。
warpa remove path/to/archive.rpa file1.txt file2.txt
或者,删除与glob模式匹配的文件。以下示例删除所有以.txt
结尾的文件。
warpa remove path/to/archive.rpa -p *.txt
您可以通过传递--keep
标志来保留匹配的文件。以下示例仅保留以.txt
结尾的文件。
warpa remove path/to/archive.rpa -p *.txt -k
更新
您可以通过从周围的文件系统读取来更新现有的存档。以下示例尝试从文件系统中读取存档中存在的所有文件。如果存档包含README.md
,则warpa会尝试从存档的目录中读取README.md
。
warpa update path/to/archive.rpa
可以使用--files
和--pattern
参数过滤正在更新的文件。以下命令仅更新file1.txt
以及其他以.md
结尾的文件。
warpa update path/to/archive.rpa -f file1.txt -p "*.md"
可以通过传递--relative
参数来指示Warpa相对于另一个目录查找文件。以下命令将在当前工作目录中查找README.md
。
warpa update path/to/archive.rpa -f README.md -r .
许可证
此工具和库根据MIT许可证授权。
免责声明
此工具旨在与作者允许修改和/或提取的文件一起使用。强烈反对在不给予此类同意的情况下对文件进行未经允许的使用。
依赖关系
~1.5–2.3MB
~46K SLoC