コンテンツにスキップ

PCCPluginSys commandsLink

PCCPluginSysで使用できるコマンドを解説します。
コマンドはすべて大文字で記述されていますが、小文字であったり混在していても問題なく動きます。

EXECLink

EXEC [options...] <command> [args...]

概要Link

外部ファイルを実行します。

インストーラーを実行する場合、LOCKを行ってください。
内容はcmd.exeに渡されるため、copyなどの組み込みコマンドも問題なく使用できます。
オプションで指定しなかった場合、実行ディレクトリは実行しようとしたファイルと同一になります。

出力は${tempdir}\executer.logにリダイレクトされます。

Note

/NOFAILが指定されていない限り、実行したプログラムが0以外のコードで終了したときエラー扱いになります。

自動補完Link

指定するファイルによっては、実行内容にいくつかの自動補完が行われます。

.ps1Link

.ps1ファイルを指定した場合、ファイル名の前に以下のようなコマンドが付与されて実行されます。
powershell.exe -NonInteractive -ExecutionPolicy Bypass -File

有効なオプションLink

/ADMINLink

指定すると管理者権限で実行します。
ネットワークドライブ上のファイルを実行しようとした場合、自動的にtempdirにコピーしてから実行します。

/REPODIRLink

repodirを実行ディレクトリとして実行します。

/TEMPDIRLink

tempdirを実行ディレクトリとして実行します。

/DATADIRLink

datadirを実行ディレクトリとして実行します。

/NOFAILLink

終了コードが0以外でもエラーとして扱いません。

/RAWLink

自動補完を無効にします。

repodir: B:\PCCPlugin\unofficial\example
tempdir: C:\Users\user\Downloads\PCCPlugin\example
プラグインコマンド: EXEC /ADMIN /TEMPDIR ${plugin_repodir}\install.ps1

実行されるコマンド: powershell.exe -NonInteractive -ExecutionPolicy Unrestricted -File B:\PCCPlugin\unofficial\example\install.ps1
実行ディレクトリ: C:\Users\user\Downloads\PCCPlugin\example

LOCKLink

LOCK [options...] [name]

概要Link

排他ロックを取得/解除できます。
Windows Installerを使う場合など、同時に2つ以上実行されると問題が起きる場合には排他ロックを取得しなければいけません。
ロックはPackage単位で取得します。
他のPackageがすでにロックしている場合、それが解放されるまでここで処理が止まります。
複数のPackageが解放待ちをしている場合、Priorityに基づいてロックが付与されます。

Note

nameは指定しなかった場合windows_installerになります。
それ以外の用途は未定です。

有効なオプションLink

/LOCKLink

ロックを取得します。

Note

デフォルトの挙動のため指定する必要はありませんが、明示的に記述したほうがわかりやすいです。

/UNLOCKLink

ロックを解除します。
取得していない場合何もしません。

Link

LOCK /LOCKLink

windows_installerという名前のロックを取得します。

LOCK /UNLOCKLink

windows_installerという名前のロックを解放します。

Note

以下は基本的に使いません

LOCKLink

windows_installerという名前のロックを取得します。

LOCK /UNLOCK pacmanLink

pacmanという名前のロックを解放します。

STATUSLink

STATUS [status]

概要Link

PCCClientに表示されるステータスメッセージを設定します。

Note

statusを省略した場合空文字列になります。

Link

STATUS Removing WindowsLink

PCCClientのステータス欄にRemoving Windowsと表示されます。

CALLLink

CALL [<plugin>:]<action> [args...]

概要Link

指定したActionを実行します。
pluginを指定すると別のプラグインのActionを実行できます。

Hint

pluginに指定するプラグインはインストール済みである必要があります。
つまり、before="true"なdependencyとして設定する必要があるということです。

Link

CALL restoreLink

これを実行したプラグインのrestoreという名前のActionが実行されます。

CALL other:delete windowsLink

otherというプラグインのdeleteという名前のActionが、windowsという引数を渡されて実行されます。

ASKLink

ASK <type> [message]

概要Link

PCCClientでユーザーに入力を求めることができます。
それ以外の場合、指定されたtypeの情報の入力を要求します。
指定されている場合は併せてmessageを表示します。
入力内容は${plugin_tempdir}\plugin_ask.txtに平文で保存されます。
最後に改行が挿入されたりはしません。
どちらの場合もユーザーが入力を完了するまで動作が止まります。

指定できるtypeLink

configLink

特殊なtypeで、プラグインの設定を開きます。

stringLink

文字列です。

passwordLink

文字列ですが、入力画面では文字が伏せられます。

fileLink

文字列ですが、ファイルマネージャーからファイルパスを指定するボタンが追加されます。

intLink

整数です。

boolLink

真偽値です。
結果はtrueまたはfalseになります。