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=<輸出目錄>
| 參數 | 別名 | 必填 | 說明 |
|---|---|---|---|
pmlaFile | pmla、inPmla | 是 | 待解包的 .pmla 檔案路徑 |
outPath | output | 是 | 解包輸出的目標目錄 |
範例:
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]
| 參數 | 別名 | 必填 | 說明 |
|---|---|---|---|
inPath | input | 是 | 要打包的來源目錄 |
outPmla | pmla、pmlaFile | 是 | 輸出的 .pmla 檔案路徑 |
useNewFormat | newFormat | 否 | 是否使用新版 (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結束。