修饰符
按钮
@disableif
当条件成立时禁用按钮
@disableifpath
当路径匹配通配符表达式时禁用按钮
@disableifpathr
当路径匹配正则表达式时禁用按钮
@disablenosel
当未选中文件时禁用按钮
@hideif
当条件成立时隐藏按钮
@hidepath
当路径匹配通配符表达式时隐藏按钮
@hidepathr
当路径匹配正则表达式时隐藏按钮
@hidenosel
当未选中文件时隐藏按钮
@icon
当条件成立时按钮使用指定图标 图标路径可以使用环境变量和文件夹别名,但不能使用变量
@iconp
当条件成立时父按钮使用指定图标
@icon!
当条件成立时按钮和父按钮同时使用指定图标
@toggle
改变按钮高亮条件
例子:
当开启双栏模式时禁用按钮:
@disableif:Set DUAL=toggle
当未开启双栏模式时禁用按钮:
@disableif:!Set DUAL=toggle
强制隐藏按钮:
@hideif:!
变量
@set
设置变量 可以指定作用域,但不能设置持久变量
例子:
@set dir={dlgstring|输入要复制文件到的新文件夹名} // 设置 dir 变量
CreateFolder ".\{$dir}" // 创建文件夹
Copy TO ".\{$dir}" // 复制文件到文件夹
条件分支
如果
@if: // 如果条件成立
...
@if:else // 否则(可省略)
...
@if:common // 结束分支(可省略)
...
@if
与 C 系编程语言的条件分支是等价的:
if (条件) {
...
} else {
...
}
...
例子:
// 或 @ifset:DUAL=on
@if:Set DUAL=on // 如果打开了双栏模式
Set FOCUS=right // 使对栏获取焦点
Go /mypictures OPENINRIGHT // 使对栏跳转到“我的图片”
@if:else // 否则
Go /mypictures // 跳转到“我的图片”
@if:common // 结束分支
Set VIEW=thumbnails // 打开缩略图视图
如果路径存在
// 或 @ifexists:!路径 // 如果路径不存在
@ifexists:路径 // 如果路径存在
...
@ifexists:else // 否则(可省略)
...
@ifexists:common // 结束分支(可省略)
...
如果当前路径匹配
// @ifpathr:正则表达式 // 如果正则表达式匹配当前路径
@ifpath:通配符表达式 // 如果通配符表达式匹配当前路径
...
@ifpath:else // 否则(可省略)
...
@ifpath:common // 结束分支(可省略)
...
如果进程存在
@ifrunning:进程名/通配符/regex:正则表达式 // 如果指定进程存在
...
@ifrunning:else // 否则(可省略)
...
@ifrunning:common // 结束分支(可省略)
...
如果修饰键被按下
@keydown:none // 如果没有修饰键被按下
...
@keydown:any // 如果有修饰键被按下
...
@keydown:ctrl // 如果 Ctrl 被按下
...
@keydown:shift // 如果 Shift 被按下
...
@keydown:alt // 如果 Alt 被按下
...
@keydown:common // 结束分支
...
以上的每个 @keydown
都可以省略,你只需要使用你需要的分支。
例子:
@keydown:none // 如果没有修饰键被按下
Copy // 复制选中文件到目标目录
@keydown:shift // 如果 Shift 被按下
Copy AS // 以指定名称(弹窗输入)复制选中文件到目标目录
执行模式
默认
顺序执行每条命令,每条命令同时处理所有文件
@sync
顺序执行每条命令,每条命令顺序处理各个文件
@async
同时执行所有命令
@runonce
只执行提供的命令一次,不论选中了多少文件
操作对象
@disablenosel
未选中文件时禁用按钮
@hidenosel
未选中文件时隐藏按钮
@filesonly
只对选中项中的文件执行操作
@firstfileonly
只对选中项中的第一个文件执行操作
@dirsonly
只对选中项中的目录执行操作
@filesfromdroponly
只对拖放文件执行操作
@nodeselect
执行函数后保留文件的选中状态
例子:
重命名文件后保留选中状态:
@disablenosel
Rename ADVANCED
@nodeselect
操作
@admin
以管理员权限执行
@noexpandenv
传递路径时不展开环境变量
@nofilenamequoting
传递路径时不自动使用引号包裹含有空格的文件路径,从而:
避免当一项参数含有多个外部控制码时包裹出错
手动追加
\\
或空格来避免文件夹路径"C:\...\"
末尾被解析为转义引号
@resolvelinks
传递路径时解析快捷方式和文件链接到真实路径
@nolocalizefiles
使用外部程序操作非本地文件时不自动下载到本地
@noprogress
不显示进度条
对话框
@confirm
确认对话框
@confim:提示文本
@confim:提示文本|确认按钮标题
@confim:提示文本|确认按钮标题|取消按钮标题
脚本
@script
开始执行脚本
例子:
Rename PATTERN * TO *
@script:vbscript
Function ....
最后更新于