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.