User Commands
一个用户命令是您自己创建的已定义命令。实际上,这就像在工具栏上创建一个带有您自己的功能的按钮,但它不是工具栏上的按钮,而是命令列表中的命令,其它按钮或菜单可以使用它们,就像内部命令一样。
使用工具栏创建和管理用户命令。
编辑用户命令
编辑用户命令类似于编辑普通工具栏按钮,尽管有一些针对用户命令的特定字段:
名称:这是命令的原始名称 - 这是您需要使用的名称才能从按钮和菜单运行该命令。
标签:这是命令的默认标签。如果您从命令标签页拖动您的命令并将其放到工具栏上,创建的按钮将以此作为其标签(当然可以编辑)。
描述:当您从命令标签页拖动命令时,这将变为按钮的默认工具提示。
模板:这指定了命令的参数模板 - 更多详细信息,请参阅以下内容。
从命令菜单中隐藏:该命令将不会显示在下拉命令列表中。这允许您创建用户命令,您仍然可以在按钮和热键(或者例如在配置页面上,例如文件夹树选择事件)中使用它们,但它们不会弄乱命令列表。
参数模板
如果您想将参数传递给您的用户命令,您需要为它提供一个参数模板。这使用与内部 Opus 命令 相同的语法。
在上面的示例中,我们只想要一个字符串值。已在模板字段中为参数指定了 EXT
名称。这不是参数的值(在某物使用此用户命令之前,它并不存在),而是参数的名称。
用户命令 Select *.&EXT&
的功能调用内部 Select
命令,并向其传递一个通配符字符串,该字符串由提供的 EXT
参数构建。参数名称在函数定义中提供,并用 &(& 字符)包围,这表示 Opus 将该参数的值插入命令行。
您可以如下所示从工具栏按钮使用这个示例命令:
命令行: |
|
运行: |
|
更复杂的模板
在上面的示例中,EXT
是一个字符串参数,因此提供的值会原样传递给用户命令,但对于布尔选项,行为不同。例如,考虑以下用户命令:
名称: |
|
模板: |
|
函数: |
|
ExampleCmd
用户命令将在调用它时运行 C:\DummyProgram.exe
程序。它的模板有两个布尔选项:
EXAMPLE1
:直开式开关参数,可以打开或关闭。EXAMPLE2
:选项开关参数,可以关闭、打开或提供字符串值。
默认情况下,开关参数将在设置时插入值 1
,在未设置时插入值 0
。例如,以下用户命令用法将为 DummyProgram 生成以下命令行:
命令行: |
|
运行: |
|
但是,您可以使用 &..&
插入符来指定实际为该参数传递的字符串。例如:
函数: |
|
命令行: |
|
运行: |
|
对于选项开关 (/O) 参数,这仅适用于参数作为开关使用的情况,而不适用于提供字符串值 - 如果提供字符串值,则会原样传递。例如:
命令行: |
|
运行: |
|
您的模板还可以为选项开关指定一个值列表,然后这些值将显示在 命令编辑器 中的下拉列表中,便于选择参数值。如果您使用此功能,您还可以指定一个默认值,如果该选项没有给出值,则会传递该默认值。考虑以下模板和两个示例用法:
名称: |
|
模板: |
|
函数: |
|
命令行: |
|
运行: |
|
命令行: |
|
运行: |
|
条件测试
您可以使用 命令修饰符 @if:
来测试用户命令参数的值,以便为用户命令引入简单的条件行为(无需求助于脚本)。例如:
您还可以使用 求值器 中的 Arg() 函数从用户命令内的求值器代码中访问命令行参数。例如:
@if:else echo 您是谁?
最后更新于