assetstudio 中文文档 下载 App

CLI 高级筛选 — --filter-by-name / --filter-by-container / 正则

三种筛选参数

参数匹配对象匹配方式
--filter-by-name资源名称多个值用逗号分隔,每个值独立匹配;值以 ! 开头是排除;值以 ~ 开头是正则
--filter-by-container容器路径同上
--filter-by-text名称或容器路径匹配任一即可

多个筛选参数用 AND 组合——资源必须同时满足所有筛选条件才被保留。

基本匹配(Include)

导出名称里含 bgm 的音频:

AssetStudioModCLI <path> -t audio --filter-by-name bgm -o <output>

导出名称里含 music 或 voice 的音频:

AssetStudioModCLI <path> -t audio --filter-by-name music,voice -o <output>

注意逗号分隔是 OR 逻辑——资源名含任意一个关键词就保留。

排除匹配(Exclude)

导出所有音频但排除名称里含 test 的:

AssetStudioModCLI <path> -t audio --filter-by-name "!test" -o <output>

! 前缀表示"不包含"。可以同时加多个排除条件:

AssetStudioModCLI <path> -t audio --filter-by-name "!test,!demo" -o <output>

正则匹配

~ 前缀表示后面是正则表达式(.NET Regex 语法):

AssetStudioModCLI <path> -t sprite --filter-by-name "~char_\d+" -o <output>

这条命令导出所有名称匹配 char_ 加一个或多个数字的 Sprite(角色立绘常见命名)。

常用正则模式:

正则效果
~bgm_\w+名称以 bgm_ 开头后跟单词字符
~icon_\d{3,}名称以 icon_ 加 3 位以上数字
~^char_\d{2}_front$精确匹配 char_01_front 这类

容器路径匹配

Container 是资源在 AssetBundle 里的逻辑路径。很多游戏按功能分目录组织容器路径,比如 assets/audio/bgm/stage01/。

导出容器路径里含 bgm 的音频:

AssetStudioModCLI <path> -t audio --filter-by-container bgm -o <output>

这条比 --filter-by-name bgm 准——因为很多游戏的 AudioClip 名称是 hash(比如 a1b2c3d4),但容器路径是语义化的。

多条件组合

导出容器路径含 char 且名称含 front 的 Sprite:

AssetStudioModCLI <path> -t sprite --filter-by-container char --filter-by-name front -o <output>

导出名称含 voice 且容器含 dialog 的音频:

AssetStudioModCLI <path> -t audio --filter-by-name voice --filter-by-container dialog -o <output>

--filter-by-text(名称或容器任一场合)

AssetStudioModCLI <path> -t sprite --filter-by-text hero -o <output>

这条导出名称里有 hero 或者容器路径里有 hero 的 Sprite——OR 逻辑,比单独用 name 或 container 范围更宽。