PML 2

命令行

本文将介绍 PML 2 的命令行模式, 包括使用 PMLA 进行主题包的解包与打包操作。

PML 2 除图形界面外还提供了命令行模式, 用于在不打开窗口的情况下对 .pmla 包文件执行解包与打包操作, 适合脚本处理与自动化场景。

.pmla 是 PML 2 的多类型统一包文件, PML 2 的主题等组件均以该格式分发, 详见主题章节「什么是 PMLA 文件」。

进入命令行模式

将 pmla 作为第一个启动参数传入, 即可进入命令行模式:

MEFrpLauncherX pmla <子命令> [参数...]

命令行模式在图形界面初始化之前执行, 操作完成后进程直接退出, 全程不会显示任何窗口。

PML 2 是单实例应用: 若已有一个 PML 2 实例正在运行, 新传入的 pmla 命令只会激活已有窗口后直接退出, 不会执行解包/打包操作。使用命令行模式前, 请先退出正在运行的 PML 2。

子命令

子命令作用
unpack将 .pmla 包文件解包为目录
pack将目录打包为 .pmla 包文件

除上述两个子命令外, 任何其他参数组合都会被视为无效参数。

参数写法

所有参数均以 名称=值 的形式传入, = 两侧不能有空格。以下前缀写法等价, 程序会自动忽略 -- 与 / 前缀:

MEFrpLauncherX pmla unpack pmlaFile=MyTheme.pmla outPath=./theme-src
MEFrpLauncherX pmla unpack --pmlaFile=MyTheme.pmla --outPath=./theme-src

unpack: 解包

MEFrpLauncherX pmla unpack pmlaFile=<包文件> outPath=<输出目录>
参数别名必填说明
pmlaFilepmla、inPmla是待解包的 .pmla 文件路径
outPathoutput是解包输出的目标目录

示例:

MEFrpLauncherX pmla unpack pmla=MyTheme.pmla output=D:\themes\MyTheme

执行时控制台会输出横幅与实时进度:

==============================
PMLA Unpack Mode
Unpacking MyTheme.pmla(New Format: False) to D:\themes\MyTheme
==============================
[35%] 正在解包...
Unpack completed.

其中 New Format 指示该文件是否为新版 (PMLAX) 包格式, 仅作提示; 解包会自动兼容新旧两种格式, 无需额外参数。

pack: 打包

MEFrpLauncherX pmla pack inPath=<源目录> outPmla=<输出文件> [useNewFormat=true|false]
参数别名必填说明
inPathinput是要打包的源目录
outPmlapmla、pmlaFile是输出的 .pmla 文件路径
useNewFormatnewFormat否是否使用新版 (PMLAX) 打包格式。默认 true; 显式传 false 时改用旧版格式

示例:

MEFrpLauncherX pmla pack inPath=./theme-src outPmla=MyTheme.pmla
MEFrpLauncherX pmla pack input=./theme-src pmla=MyTheme.pmla useNewFormat=false
与图形界面中「主题 → 打包本地主题」的效果一致; 除非需要兼容旧版本 PML 2, 建议保持默认的新版格式。

退出码

退出码含义
0解包/打包成功完成
1无效参数 (无法识别的子命令或参数组合)
2必要参数缺失, 或参数值格式错误

补充说明:

  • 传入无法识别的参数时, 控制台输出 [E] Invalid Arguments. 并以退出码 1 退出。
  • 必要参数缺失时静默退出 (仅返回退出码 2), 便于在脚本中通过退出码判断结果。
  • 参数名后缺少 = 值 (如只写了 pmlaFile=) 会输出 Invalid pmlaFile argument. 并以退出码 2 退出。
Copyright © RYCBStudio 2026, All Rights Reserved.