Directory Opus
GitHub用户脚本Telegram 群
  • 主页
  • 文件浏览
    • 文件窗口
      • 默认窗口
      • 工具栏
        • 收藏栏
    • 多文件夹
      • 单窗口模式
      • 标签页
      • 双栏
      • 来源和目标
    • 查看
      • 列表
        • 列
        • 排序
        • 分组
        • 视图
          • 详细视图
          • 缩略图
          • 平面视图
        • 标记
        • 选择
          • 复选框
        • 即时查找
      • 信息提示
      • 查看器
      • 文件夹格式
    • 导航
      • 地址栏
      • 文件夹树
      • 收藏夹
      • 别名
    • 文件对话框
    • 终端
  • 文件搜索
  • 文件操作
    • 文件创建
    • 文件移动
    • 文件复制
    • 重命名
    • 剪贴板
    • 上下文菜单
    • 拖放
    • 安全
  • 文件类型
    • 元数据
    • 压缩包
    • 图片
      • ICO
      • SVG
    • 文档
      • 纯文本
      • 代码
      • Markdown
      • Word 文档
      • PDF
      • 网页
    • 表格
      • Excel 表格
      • 数据库
    • 幻灯片
    • 模型
    • 种子
    • 邮件
  • Directory Opus
    • 配置
      • 主题
    • 命令
      • 命令
      • 外部控制码
      • 修饰符
      • 内置命令
    • 脚本
      • 变量
    • 更新日志
  • 官方手册
    • 目录
    • 版权
    • 许可证
      • 最终用户许可条件
      • 批量许可条件
    • 致谢
    • 简介
    • 基本概念
      • 启动 Opus
      • 文件窗口
        • 打开文件窗口
        • 默认文件窗口
        • 导航
          • 主文件夹
          • 上、前进、后退
          • 文件树
          • 地址栏
            • 路径字段
          • 驱动按钮和下拉菜单
          • 收藏夹
          • 智能收藏夹
          • 最近和历史列表
          • 别名
          • 成对文件夹
        • 标签
          • 标签切换器
          • 锁定标签页
          • 关联标签页
          • 标签组
        • 视图模式
        • 双栏
          • 导航锁定
        • 工具栏
          • 默认工具栏
            • 菜单工具栏
            • 操作工具栏
            • 收藏栏
            • 文件列表工具栏
            • “图像”工具栏
          • 动态工具栏
          • 工具栏集
        • 即时查找字段
        • 查看器窗格
        • 元数据窗格
        • 实用程序面板
        • 布局
        • 样式
        • 主题
          • 创建自己的主题
        • 状态栏
      • 资源管理器替换模式
      • 源目录和目标目录
      • 选择文件
        • 使用鼠标和键盘进行选择
          • 单击模式
          • 复选框模式
        • 简单通配符选择
        • 高级选择
        • 选择单元格
      • 搜索和过滤
        • 过滤栏
        • 显示所有内容
        • 工具栏过滤项
        • 快速搜索
        • 查找文件
          • 简易查找
          • 高级查找
      • 排序和分组
        • 手动排序
      • 文件夹格式
        • 文件夹格式对话框
          • 列
            • 冻结列
          • 排序
          • 分组
          • 显示
          • 过滤器
        • 已保存文件夹格式
        • 自动记住格式
        • 内容类型
        • 确定当前格式
        • 锁定格式
      • 可展开文件夹
      • 平面视图
      • 文件夹大小
      • 虚拟文件系统
        • 系统虚拟文件夹
        • 文件集合
          • 存储的查询
        • 库
        • 压缩包
        • FTP
        • MTP
    • 文件操作
      • 复制、移动和删除文件
        • 复制和粘贴
        • 拖放
        • 使用工具栏按钮进行复制
          • 复制时使用通配符
        • 复制队列
          • 复制覆盖和幽灵文件
          • 无人值守操作
        • 作业栏
        • 确认文件替换对话框
        • 复制已更新文件
          • 同步
        • Deleting Files
          • 安全删除
      • 重命名文件
        • 内联重命名
        • 简单通配符重命名
        • 高级重命名
          • 重命名预设
          • 重命名模式
            • 标准通配符重命名
            • 查找和替换
            • 正则表达式
            • 正则表达式 + 查找并替换
          • 重命名操作
            • 文件编号
            • 重命名宏
          • 重命名选项
          • 使用元数据重命名
          • 重命名脚本
      • 创建文件夹
      • 创建压缩包
        • 添加到压缩包文件
        • 添加到压缩包对话框
          • Zip 选项
          • 7z 选项
          • RAR 选项
          • TAR BZip2 选项
          • TAR GZip 选项
        • Zip 文件
          • Zip 注释
          • 只读模式
          • 自解压 Zip 文件
      • 跟踪和撤销文件操作
      • 更改属性
      • 标记和状态图标
      • 编辑元数据
        • 文档属性
        • 图片属性
        • 音乐属性
          • 添加封套插图
        • 视频属性
        • 扩展属性
        • 元数据的编程设置
        • 时间偏移
      • 文件说明
      • 过滤操作
        • 过滤条款
        • 添加、删除和编辑子句
        • 过滤条款类型
        • 文本过滤器
      • UAC 和管理员模式
    • FTP
      • FTP 地址簿
        • 默认设置
        • 站点页
        • 网络页面
        • Display Page
        • 索引页面
        • 声音页面
        • 杂项页面
        • 速度页面
        • 特殊页面
        • 转账页面
        • 代理页面
      • 添加新站点
      • FTP 连接
      • 站点属性
      • FTP 日志
      • FTP 路径
    • 附加功能
      • 查看图像
        • 查看器鼠标、键和工具栏
        • 图像标记
        • 文件窗口关联查看器
      • 播放声音
      • 图像转换
        • 自动化图像转换任务
      • 打印文件夹
      • 重复文件查找器
      • 拆分文件
      • 拼接文件
      • 制作链接和连接点
      • 浮动工具栏
        • 控制浮动工具栏
      • 系统级热键
      • 导出到 USB
      • 与 Everything 集成
      • 擦除所有空白
      • 文件类型概览
      • 更新检查器
      • CLI
      • 崩溃日志
    • 配置
      • 备份和恢复配置
      • 配置类别
        • 色彩和字体
          • 暗黑模式
          • 主题
          • 颜色混合
          • Directory Opus 颜色
          • Windows 颜色
          • 图像
          • 字体
        • 文件列表
          • 文件夹展开
          • 鼠标
            • 背景事件
          • 导航
          • 选项
            • 信息提示
            • Tab键
          • 状态栏
          • 标题栏
        • 文件列表列
          • 外观
          • 求值器列
          • 求值器分组
          • 文件名
          • 图标
          • 选项
          • Shell 属性
        • 文件列表模式
          • 详细信息
          • 增强模式
            • 外观
            • 按钮
          • 缩略图
            • 文件夹
            • 性能
            • 样式
          • 平铺模式
        • 文件操作
          • 文件复制
            • 属性
            • 确认
            • 元数据
            • 安全
          • 删除文件
          • 双击文件
            • FTP
          • 日志记录
          • 元数据
            • 元数据编辑器
            • 音乐类型
          • 选项
          • 进度指示器
            • 统计文件
            • 作业栏
          • 重命名文件
            • 控制键
        • 过滤和排序
          • 过滤
          • 过滤栏
          • 即时查找
            • 过滤模式
            • 查找模式
            • 文件夹模式
          • 全局过滤器
          • 快速键
          • 排序
        • 文件夹
          • 自动读取
          • 文件夹格式
            • 自动格式
          • 文件夹图像
          • 文件夹大小
            • 交接点和链接
          • 网络服务器
          • 特殊文件夹
          • 虚拟文件夹
            • 桌面
            • 文件系统
            • 此电脑
        • 文件夹标签页
          • 尺寸
          • 边缘颜色
          • 文件夹标签栏
          • 分组
          • 锁定
          • 选项
        • 文件夹树
          • 外观
          • 内容
          • 展开/折叠
            • 图钉
          • 选项
          • 选择事件
        • 常用路径
          • 收藏夹列表
          • 文件夹别名
          • 主文件夹
          • 配对文件夹
          • 最近列表
          • 智能收藏夹
        • Internet
          • 电子邮件
          • 更新
        • 标记
          • 标记 定义
          • 标记分配
            • 在特定文件夹中
          • 选项
        • 启动 Opus
          • 资源管理器替换
          • 来自桌面
          • 任务栏图标
          • 来自 Win + E 热键
          • 启动
        • 布局和样式
          • 默认文件窗口
          • 布局
          • 样式
        • 地址栏
          • 选项
          • 路径字段
            • 外观
            • 菜单
            • 路径补全
          • 工具栏
        • 其它
          • 高级选项
          • 外部工具
          • 隐私
          • Shell 扩展
          • 声音
          • Windows 集成
            • 跳跃列表
          • Windows 启动延迟
        • 工具栏
          • 外观
          • 文件夹工具栏
          • 图标
          • 选项
          • 工具栏组
          • 视图工具条
        • 用户界面
          • 语言
          • Spacing
          • 过渡动画
        • 查看器
          • 独立查看器
            • Options
            • 尺寸和位置
            • 鼠标按钮
            • 已标记图片
            • 幻灯片放映
          • 查看器窗格
          • 查看器插件
        • Zip 和其它压缩包文件
          • 压缩包与 VFS 插件
          • 压缩包选项
          • 上下文菜单
          • Zip 文件
    • 自定义
      • 自定义对话框
        • 工具栏
        • 上下文菜单
        • 按键
        • 命令
        • User Commands
        • 默认工具栏
      • 创建您自己的按钮
        • Editing the Toolbar
          • 启动选项
          • 工具栏上下文菜单
          • 多功能按钮
          • 下拉按钮和菜单
          • 动态按钮
            • 驱动器按钮配置
          • Field Buttons
            • 路径字段配置
            • 过滤器字段配置
            • 驱动器下拉配置
          • 与他人分享功能
        • 命令编辑器
          • 简单命令编辑器
          • 高级命令编辑器
          • 使用热键控件
        • 用户自定义命令
        • 同步和异步函数
        • 内部命令参数
        • 将文件传递到外部程序
        • 命令修饰符
        • MS-DOS 批处理命令
        • WSL 命令
        • 嵌入重命名脚本
        • DDE 函数
        • 嵌入式功能
    • 文件类型
      • Directory Opus 文件类型
      • 文件类型组
      • 文件类型编辑器
        • Actions
        • 事件
        • 上下文菜单
        • 下拉菜单
        • 替换菜单
        • Info Tip
        • 平铺模式
    • 脚本
      • 重命名脚本
        • Custom Fields in the Rename Dialog
      • 脚本函数
      • 脚本加载项
        • 包括文件
        • 模块
        • 脚本包
        • 脚本安装器文件
      • Script Management
        • 创​​建新脚本
        • 脚本安装器
      • 脚本编辑器
        • 脚本资产**
        • 编辑器
          • 代码编辑器
          • 对话框编辑器
            • 对话框编辑器命令
            • Adding Dialog Controls
            • 尺寸和定位对话框控件
            • 使用布局命令
            • 对话框控件制表顺序
            • 对话框控制助记符
            • 语言覆盖
            • 对话框控件属性
              • 常见对话框属性
              • 对话框属性 若要编辑对话框的属性,请在任意控件外部单击对话框。适用于对话框的具体属性是:
              • 静态文本属性
              • 标记文本属性
              • 编辑控件属性
              • 按钮属性
              • 复选框属性
              • 单选按钮属性
              • 组合框属性
              • 列表框属性
              • 列表视图属性
              • 标签页控件属性
              • 组框属性
              • Palette Properties
          • 字符串编辑器
        • 片段
      • 脚本对话框
        • 创建脚本对话框
        • 对话消息循环
          • 简单对话框
          • 分离对话框
        • 读取对话框控件值
        • 与对话框控件交互
      • 资源
        • 字符串资源
      • 脚本日志
      • 示例脚本
        • 示例重命名脚本
        • 简单脚本函数
        • 添加新内部命令
        • 添加新列
        • 使用 Shell 属性添加新列
        • 拓展即时查找领域
        • 简单对话框和弹出菜单
        • 脚本对话框示例
        • 响应事件
    • 求值器
      • 求值器语法
      • 求值器变量
      • Applicable Contexts
        • 求值器列
        • 求值员组
        • 过滤器和查找
        • 文件信息提示和平铺
        • 按钮和功能
          • 求值器按钮标签
          • Colors
          • 求值器按钮图标
          • Tooltips
          • Dynamic State
          • Conditional Behavior
          • 函数中的求值子句
          • 求值插入代码
          • 求值器生成的命令行
        • 重命名
        • Generated File Names
        • 重命名控制键
        • 状态栏
        • 列上下文菜单
        • 标签上下文菜单
      • Examples
    • 参考
      • 通配符参考
        • 模式匹配语法
        • 正则表达式语法
      • 状态栏代码
        • 文件和文件夹计数代码
        • 磁盘空间代码
        • 音乐和视频时长代码
        • 图形元素代码
        • 其它代码
        • 条形图和百分比
        • 隐藏状态栏中的部分内容
        • 状态栏上的填充部分
      • 命令参考
        • 参数类型
        • 内部命令
          • CLI
          • Clipboard
          • Close
          • ContextMenu
          • Copy
          • CreateFolder
          • Delete
          • Favorites
          • FileType
          • Find
          • GetSizes
          • Go
          • Help
          • Image
          • Join
          • Marker
          • Play
          • Prefs
          • Print
          • Properties
          • Recent
          • Rename
          • Select
          • Set
          • SetAttr
          • Show
          • Split
          • Toolbar
          • Undo
        • 外部控制代码
          • 用于传递文件名代码
          • 有关路径的代码
          • 对话框显示代码
          • 日期和时间的代码
          • Codes for clipboard and variables
        • 命令修饰符参考
      • 脚本参考
        • 脚本对象
          • AboutData
          • ActivateListerData
          • ActivateTabData
          • AddCmdData
          • AddColData
          • AfterFolderChangeData
          • Alias
          • Aliases
          • Args
          • AudioCoverArt
          • AudioMeta
          • BeforeFolderChangeData
          • Blob
          • BusyIndicator
          • ClickData
          • ClipboardChangeData
          • CloseListerData
          • CloseTabData
          • Column
          • ColumnValue
          • Command
          • ConfigBackupData
          • ConfigRestoreData
          • Control
          • CustomFieldData
          • Date
          • Dialog
          • DialogListColumn
          • DialogListColumns
          • DialogListGroup
          • DialogListItem
          • DialogOption
          • DisplayModeChangeData
          • Dock
          • DocMeta
          • DOpus
          • DOpusFactory
          • DoubleClickData
          • DPI
          • Drive
          • ExeMeta
          • EverythingInterface
          • EverythingResult
          • Favorite
          • Favorites
          • File
          • FileAttr
          • FileGroup
          • FileOperationCompleteData
          • FileSize
          • FilesystemChangeData
          • FiletypeGroup
          • FiletypeGroups
          • Filter
          • FilterParseError
          • FlatViewChangeData
          • FolderEnum
          • FontMeta
          • Format
          • FSUtil
          • Func
          • GlobalFilters
          • GetCopyQueueNameData
          • GetCustomFieldData
          • GetNewNameData
          • HighlightedColumns
          • HTTPRequest
          • Image
          • ImageMeta
          • IncludeFileInitData
          • Item
          • Items
          • Lister
          • Listers
          • ListerResizeData
          • ListerUIChangeData
          • Map
          • Metadata
          • Msg
          • OpenListerData
          • OpenTabData
          • OrderedMap
          • OtherMeta
          • PairedFolder
          • Path
          • Progress
          • QuickFilter
          • Rect
          • Results
          • Script
          • ScriptColorPair
          • ScriptColumn
          • ScriptColumnData
          • ScriptCommand
          • ScriptCommandData
          • ScriptFAYTCommand
          • ScriptFAYTCommandData
          • ScriptConfig
          • ScriptConfigChangeData
          • ScriptInitData
          • ScriptStrings
          • ShellProperty
          • ShutdownData
          • Signature
          • SmartFavorite
          • SmartFavorites
          • SortOrder
          • SourceDestData
          • StartupData
          • StringSet
          • StringTools
          • StyleSelectedData
          • SysInfo
          • SystemSettingChangeData
          • Tab
          • TabClickData
          • TabGroup
          • TabGroups
          • TabGroupTabEntry
          • TabGroupTabList
          • TabStats
          • Toolbar
          • Toolbars
          • UnorderedSet
          • Var
          • Vars
          • Vector
          • Version
          • VideoMeta
          • Viewer
          • Viewers
          • ViewerEventData
          • Wild
          • WinVer
        • 脚本事件
          • OnAboutScript
          • OnActivateLister
          • OnActivateTab
          • OnAddColumns
          • OnAddCommands
          • OnAfterFolderChange
          • OnBeforeFolderChange
          • OnClick
          • OnClipboardChange
          • OnCloseLister
          • OnCloseTab
          • OnConfigBackup
          • OnConfigRestore
          • OnDisplayModeChange
          • OnDoubleClick
          • OnFilesystemChange
          • OnFileOperationComplete
          • OnFlatViewChange
          • OnGetCopyQueueName
          • OnGetCustomFields
          • OnGetNewName
          • OnInit
          • OnInitIncludeFile
          • OnListerResize
          • OnListerUIChange
          • OnOpenLister
          • OnOpenTab
          • OnScriptColumn
          • OnScriptCommand
          • OnScriptConfigChange
          • OnScriptFAYTCommand
          • OnShutdown
          • OnSourceDestChange
          • OnStartup
          • OnStyleSelected
          • OnSystemSettingChange
          • OnTabClick
          • OnViewerEvent
      • 求值器函数
        • AbortFunc
        • Abs
        • Age
        • Arg
        • As
        • Asc
        • Atan
        • Capitalize
        • Cbrt
        • Ceil
        • Chr
        • Cos
        • Clip
        • ClipFormat
        • Count
        • DateDiff
        • DatePart
        • DegToRad
        • DisplayName
        • Elapsed
        • Exists
        • FileCount
        • FileExt
        • FilePart
        • Floor
        • Format
        • Hypot
        • InStr
        • IsAlpha
        • IsChecked
        • IsDigit
        • IsDir
        • IsEnabled
        • IsFile
        • IsLower
        • IsParent
        • IsPath
        • IsPunct
        • IsSelected
        • IsSet
        • IsSpace
        • IsUpper
        • KeyDown
        • LanguageStr
        • LCase
        • Left
        • Len
        • MakeLegal
        • Match
        • Max
        • Mid
        • Min
        • Now
        • Output
        • Parent
        • PathType
        • Pow
        • RadToDeg
        • RegEx
        • RegExS
        • Replace
        • Resolve
        • Reverse
        • Right
        • Root
        • Rnd
        • Round
        • Running
        • Select
        • Sin
        • Space
        • Stem
        • StrCmp
        • String
        • Sqrt
        • Swap
        • SysInfo
        • Tan
        • Trim
        • Truncate
        • TypeOf
        • UCase
        • URLEncode
        • Val
      • DOpusRT 参考手册
        • 文件集合外部操作
        • 检索文件和文件夹信息
      • 元数据关键字
        • 列关键字
        • SetAttr META 的关键字
      • 文本过滤器
      • 图标集
        • 图标集 XML 定义文件
        • 图标大小
        • 图标名称
        • 图标显示名称
        • 图标类别
        • DPI aware Icon Sets
        • 本地化
        • 图标图像
      • 重命名宏语言
    • Directory Opus 13 的新功能有哪些?
      • Directory Opus 13 - 亮点
        • Highlights Page 1
        • Highlights Page 2
        • Highlights Page 3
        • Highlights Page 4
        • Highlights Page 5
        • Highlights Page 6
      • Directory Opus 13 - 详细变更列表
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细的发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发布说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发布说明
        • Directory Opus 13 - 详细的发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发布说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发布说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细版本说明
        • Directory Opus 13 - 详细版本说明
        • Directory Opus 13 - 详细发布说明
        • Directory Opus 13 - 发布说明详情
        • Directory Opus 13 - 详细版本说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发布说明
        • Directory Opus 13 - 发行说明详细
        • Directory Opus 13 - 详细的发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细的发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细版本说明
        • Directory Opus 13 - 详细的发行说明
        • Directory Opus 13 - 详细发行说明
        • Directory Opus 13 - 详细版本说明
      • Directory Opus 13 - 从 Opus 12 升级的提示
  • Manual
    • Copyrights
    • Licenses
      • End-user License Conditions
      • Volume License Conditions
    • Acknowledgements
    • Introduction
    • Basic Concepts
      • Starting Opus
      • The Lister
        • Opening a Lister
        • The Default Lister
        • Navigation
          • Home Folder
          • Up, Forward, Back
          • Folder Tree
          • Location Bar
            • Path Field
          • Drive Buttons and Dropdowns
          • Favorites
          • SmartFavorites
          • Recent and History Lists
          • Aliases
          • Paired Folders
        • Tabs
          • Tab Switcher
          • Locked Tabs
          • Linked Tabs
          • Tab Groups
        • View Modes
        • Dual Display
          • Navigation Lock
        • Toolbars
          • The Default Toolbars
            • Menu Toolbar
            • Operations Toolbar
            • Favorites Bar
            • File Display Toolbar
            • Images Toolbar
          • Dynamic Toolbars
          • Toolbar Sets
        • Find-as-you-type Field
        • Viewer Pane
        • Metadata Pane
        • Utility Panel
        • Layouts
        • Styles
        • Themes
          • Creating your own Themes
        • Status Bar
      • Explorer Replacement
      • Source and Destination
      • Selecting Files
        • Selecting with the mouse and keyboard
          • Single-click mode
          • Checkbox Mode
        • Simple Wildcard Selection
        • Advanced Selection
        • Selecting Cells
      • Searching and Filtering
        • Filter Bar
        • Show Everything
        • Toolbar Filter Fields
        • Quick Search
        • Find Files
          • Simple Find
          • Advanced Find
      • Sorting and Grouping
        • Manual Sorting
      • Folder Format
        • Folder Format Dialog
          • Columns
            • Frozen Columns
          • Sorting
          • Grouping
          • Display
          • Filters
        • Saved Folder Formats
        • Auto-remembered Formats
        • Content Types
        • Identifying the current format
        • Locking the Format
      • Expandable Folders
      • Flat View
      • Folder Sizes
      • Virtual File System
        • System virtual folders
        • File Collections
          • Stored Queries
        • Libraries
        • Archives
        • FTP
        • MTP
    • File Operations
      • Copying, Moving and Deleting Files
        • Copy and Paste
        • Drag and drop
        • Copying using the toolbar buttons
          • Using Wildcards when Copying
        • Copy Queues
          • Copy Overlays and Ghost Files
          • Unattended operation
        • The Jobs Bar
        • The Confirm File Replace Dialog
        • Copying Updated Files
          • Synchronize
        • Deleting Files
      • Renaming Files
        • Inline Rename
        • Simple Wildcard Rename
        • Advanced Rename
          • Rename Presets
          • Rename Modes
            • Standard Wildcard Rename
            • Find and Replace
            • Regular Expressions
            • Regular Expressions + Find and Replace
          • Rename Actions
            • Numbering Files
            • Rename Macros
          • Rename Options
          • Renaming with Metadata
          • Rename Scripts
      • Creating Folders
      • Creating Archives
        • Adding to Archives
        • Add to Archive Dialog
          • Zip Options
          • 7z Options
          • RAR Options
          • TAR BZip2 Options
          • TAR GZip Options
        • Zip Files
          • Zip Comment
          • Read-Only mode
          • Self-Extracting Zip Files
      • Tracking and Undoing File Operations
      • Changing Attributes
      • Labels and Status Icons
      • Editing Metadata
        • Document Properties
        • Picture Properties
        • Music Properties
          • Adding Cover Art
        • Video Properties
        • Extended Properties
        • Programmatic setting of Metadata
        • Time Shifting
      • File Descriptions
      • Filtered Operations
        • Filter Clauses
        • Adding, Removing and Editing Clauses
        • Filter Clause Types
        • Textual Filters
      • UAC and Administrator Mode
    • FTP
      • FTP Address Book
        • Default Settings
        • Site Page
        • Network Page
        • Display Page
        • Index Page
        • Sounds Page
        • Misc Page
        • Speed Page
        • Special Page
        • Transfer Page
        • Proxy Page
      • Adding a new Site
      • FTP Connect
      • Site Properties
      • FTP Log
      • FTP Paths
    • Additional Functionality
      • Viewing Images
        • Viewer Mouse, Keys and Toolbar
        • Image Marking
        • Lister-Linked Viewers
      • Playing Sounds
      • Image Conversion
        • Automated image conversion tasks
      • Print Folder
      • Duplicate File Finder
      • Splitting Files
      • Joining Files
      • Making Links and Junctions
      • Floating Toolbars
        • Controlling Floating Toolbars
      • System-wide Hotkeys
      • Exporting to USB
      • Integration with Everything
      • Erase Empty Space
      • File Type Summary
      • Update Checker
      • CLI
      • Crash Logs
    • Preferences
      • Backing up and Restoring Preferences
      • Preferences Categories
        • Colors And Fonts
          • Dark Mode
          • Themes
          • Color Blending
          • Directory Opus Colors
          • Windows Colors
          • Images
          • Fonts
        • File Displays
          • Folder Expansion
          • Mouse
            • Background Events
          • Navigation
          • Options
            • Info Tips
            • Tab Key
          • Status Bar
          • Title Bar
        • File Display Columns
          • Appearance
          • Evaluator Columns
          • Evaluator Groups
          • Filenames
          • Icons
          • Options
          • Shell Properties
        • File Display Modes
          • Details
          • Power Mode
            • Appearance
            • Buttons
          • Thumbnails
            • Folders
            • Performance
            • Styles
          • Tiles Mode
        • File Operations
          • Copying Files
            • Attributes
            • Confirmation
            • Metadata
            • Security
          • Deleting Files
          • Double-click Files
            • FTP
          • Logging
          • Metadata
            • Metadata Editor
            • Music Genres
          • Options
          • Progress Indicators
            • Counting Files
            • Jobs Bar
          • Renaming Files
            • Control Keys
        • Filtering And Sorting
          • Filters
          • Filter Bar
          • Find-As-You-Type
            • Filter Mode
            • Find Mode
            • Folders Mode
          • Global Filters
          • Quick Keys
          • Sorting
        • Folders
          • Automatic Reading
          • Folder Formats
            • Automatic Formats
          • Folder Images
          • Folder Sizes
            • Junctions And Links
          • Network Servers
          • Special Folders
          • Virtual Folders
            • Desktop
            • File System
            • This PC
        • Folder Tabs
          • Dimensions
          • Edge Colors
          • Folder Tab Bar
          • Groups
          • Locking
          • Options
        • Folder Tree
          • Appearance
          • Contents
          • Expand / Collapse
            • Pins
          • Options
          • Selection Events
        • Frequently Used Paths
          • Favorites List
          • Folder Aliases
          • Home Folder
          • Paired Folders
          • Recent List
          • SmartFavorites
        • Internet
          • Email
          • Updates
        • Labels
          • Label Definitions
          • Label Assignments
            • In Specific Folders
          • Options
        • Launching Opus
          • Explorer Replacement
          • From the Desktop
          • From the Taskbar Icon
          • From the Win + E hotkey
          • Startup
        • Layouts and Styles
          • Default Lister
          • Layouts
          • Styles
        • Location Bar
          • Options
          • Path Fields
            • Appearance
            • Menus
            • Path Completion
          • Toolbars
        • Miscellaneous
          • Advanced
          • External Tools
          • Privacy
          • Shell Extensions
          • Sounds
          • Windows Integration
            • Jump List
          • Windows Startup Delay
        • Toolbars
          • Appearance
          • Folder Toolbars
          • Icons
          • Options
          • Sets
          • View Mode Toolbars
        • User Interface
          • Language
          • Spacing
          • Transition Animations
        • Viewer
          • Standalone Viewer
            • Options
            • Size And Position
            • Mouse Buttons
            • Marked Pictures
            • Slideshow
          • Viewer Pane
          • Viewer Plugins
        • Zip and Other Archives
          • Archive and VFS Plugins
          • Archive Options
          • Context Menu
          • Zip Files
    • Customize
      • The Customize Dialog
        • Toolbars
        • Context Menus
        • Keys
        • Commands
        • User Commands
        • Default Toolbars
      • Creating your own buttons
        • Editing the Toolbar
          • Launch Options
          • Toolbar Context Menus
          • Multiple Function Buttons
          • Drop-down Buttons and Menus
          • Dynamic Buttons
            • Drive Buttons Configuration
          • Field Buttons
            • Path Field Configuration
            • Filter Field Configuration
            • Drives Dropdown Configuration
          • Sharing functions with others
        • Command Editor
          • Simple Command Editor
          • Advanced Command Editor
          • Using the Hotkey Control
        • User-defined commands
        • Synchronous and Asynchronous functions
        • Internal Command Arguments
        • Passing files to external programs
        • Command modifiers
        • MS-DOS Batch commands
        • WSL Commands
        • Embedding Rename Scripts
        • DDE Functions
        • Embedded functions
    • File Types
      • Directory Opus File Types
      • File Type Groups
      • Filetype Editor
        • Actions
        • Events
        • Context Menu
        • Drop Menu
        • Replace Menu
        • Info Tip
        • Tiles Mode
    • Scripting
      • Rename Scripts
        • Custom Fields in the Rename Dialog
      • Script Functions
      • Script Add-ins
        • Include Files
        • Modules
        • Script Package
        • Script Installer Files
      • Script Management
        • Create New Script
        • Script Installer
      • Script Editor
        • Script Assets
        • Editors
          • Code Editor
          • Dialog Editor
            • Dialog Editor Commands
            • Adding Dialog Controls
            • Sizing and Positioning Dialog Controls
            • Using the Layout Commands
            • Dialog Control Tab Order
            • Dialog Control Mnemonics
            • Language Overlays
            • Dialog Control Properties
              • Common Dialog Properties
              • Dialog Properties
              • Static Text Properties
              • Markup Text Properties
              • Edit Control Properties
              • Button Properties
              • Check Box Properties
              • Radio Button Properties
              • Combo Box Properties
              • List Box Properties
              • List View Properties
              • Tab Control Properties
              • Group Box Properties
              • Palette Properties
          • String Editor
        • Snippets
      • Script Dialogs
        • Creating Script Dialogs
        • The Dialog Message Loop
          • Simple Dialogs
          • Detached Dialogs
        • Reading Dialog Control Values
        • Interacting with Dialog Controls
      • Resources
        • String Resources
      • Script Log
      • Example Scripts
        • Example Rename Script
        • Simple Script Function
        • Adding a new Internal Command
        • Adding a new Column
        • Adding a new Column from Shell Properties
        • Extending the FAYT Field
        • Simple Dialogs and Popup Menus
        • Script Dialog Example
        • Responding to Events
    • Evaluator
      • Grammar
      • Variables
      • Applicable Contexts
        • Evaluator Columns
        • Evaluator Groups
        • Filters and Find
        • Info Tips and Tiles
        • Buttons and Functions
          • Labels
          • Colors
          • Icons
          • Tooltips
          • Dynamic State
          • Conditional Behavior
          • Evaluation Clauses
          • Insertion Code
          • Command Lines
        • Rename
        • Generated File Names
        • Rename Control Keys
        • Status Bar
        • Column Context Menus
        • Tab Context Menus
      • Examples
    • Reference
      • Wildcard Reference
        • Pattern Matching Syntax
        • Regular Expression Syntax
      • Status Bar Codes
        • Codes for file and folder counts
        • Codes for disk space
        • Codes for music and video duration
        • Codes for graphical elements
        • Other Codes
        • Bar graphs and Percentages
        • Hiding sections on the status bar
        • Padding sections on the status bar
      • Command Reference
        • Argument Types
        • Internal Commands
          • CLI
          • Clipboard
          • Close
          • ContextMenu
          • Copy
          • CreateFolder
          • Delete
          • Favorites
          • FileType
          • Find
          • GetSizes
          • Go
          • Help
          • Image
          • Join
          • Marker
          • Play
          • Prefs
          • Print
          • Properties
          • Recent
          • Rename
          • Select
          • Set
          • SetAttr
          • Show
          • Split
          • Toolbar
          • Undo
        • External control codes
          • Codes for passing filenames
          • Codes for passing paths
          • Codes to display dialogs
          • Codes for date and time
          • Codes for clipboard and variables
        • Command modifier reference
      • Scripting Reference
        • Scripting Objects
          • AboutData
          • ActivateListerData
          • ActivateTabData
          • AddCmdData
          • AddColData
          • AfterFolderChangeData
          • Alias
          • Aliases
          • Args
          • AudioCoverArt
          • AudioMeta
          • BeforeFolderChangeData
          • Blob
          • BusyIndicator
          • ClickData
          • ClipboardChangeData
          • CloseListerData
          • CloseTabData
          • Column
          • ColumnValue
          • Command
          • ConfigBackupData
          • ConfigRestoreData
          • Control
          • CustomFieldData
          • Date
          • Dialog
          • DialogListColumn
          • DialogListColumns
          • DialogListGroup
          • DialogListItem
          • DialogOption
          • DisplayModeChangeData
          • Dock
          • DocMeta
          • DOpus
          • DOpusFactory
          • DoubleClickData
          • DPI
          • Drive
          • ExeMeta
          • EverythingInterface
          • EverythingResult
          • Favorite
          • Favorites
          • File
          • FileAttr
          • FileGroup
          • FileOperationCompleteData
          • FileSize
          • FilesystemChangeData
          • FiletypeGroup
          • FiletypeGroups
          • Filter
          • FilterParseError
          • FlatViewChangeData
          • FolderEnum
          • FontMeta
          • Format
          • FSUtil
          • Func
          • GlobalFilters
          • GetCopyQueueNameData
          • GetCustomFieldData
          • GetNewNameData
          • HighlightedColumns
          • HTTPRequest
          • Image
          • ImageMeta
          • IncludeFileInitData
          • Item
          • Items
          • Lister
          • Listers
          • ListerResizeData
          • ListerUIChangeData
          • Map
          • Metadata
          • Msg
          • OpenListerData
          • OpenTabData
          • OrderedMap
          • OtherMeta
          • PairedFolder
          • Path
          • Progress
          • QuickFilter
          • Rect
          • Results
          • Script
          • ScriptColorPair
          • ScriptColumn
          • ScriptColumnData
          • ScriptCommand
          • ScriptCommandData
          • ScriptFAYTCommand
          • ScriptFAYTCommandData
          • ScriptConfig
          • ScriptConfigChangeData
          • ScriptInitData
          • ScriptStrings
          • ShellProperty
          • ShutdownData
          • Signature
          • SmartFavorite
          • SmartFavorites
          • SortOrder
          • SourceDestData
          • StartupData
          • StringSet
          • StringTools
          • StyleSelectedData
          • SysInfo
          • SystemSettingChangeData
          • Tab
          • TabClickData
          • TabGroup
          • TabGroups
          • TabGroupTabEntry
          • TabGroupTabList
          • TabStats
          • Toolbar
          • Toolbars
          • UnorderedSet
          • Var
          • Vars
          • Vector
          • Version
          • VideoMeta
          • Viewer
          • Viewers
          • ViewerEventData
          • Wild
          • WinVer
        • Scripting Events
          • OnAboutScript
          • OnActivateLister
          • OnActivateTab
          • OnAddColumns
          • OnAddCommands
          • OnAfterFolderChange
          • OnBeforeFolderChange
          • OnClick
          • OnClipboardChange
          • OnCloseLister
          • OnCloseTab
          • OnConfigBackup
          • OnConfigRestore
          • OnDisplayModeChange
          • OnDoubleClick
          • OnFilesystemChange
          • OnFileOperationComplete
          • OnFlatViewChange
          • OnGetCopyQueueName
          • OnGetCustomFields
          • OnGetNewName
          • OnInit
          • OnInitIncludeFile
          • OnListerResize
          • OnListerUIChange
          • OnOpenLister
          • OnOpenTab
          • OnScriptColumn
          • OnScriptCommand
          • OnScriptConfigChange
          • OnScriptFAYTCommand
          • OnShutdown
          • OnSourceDestChange
          • OnStartup
          • OnStyleSelected
          • OnSystemSettingChange
          • OnTabClick
          • OnViewerEvent
      • Evaluator Functions
        • AbortFunc
        • Abs
        • Age
        • Arg
        • As
        • Asc
        • Atan
        • Capitalize
        • Cbrt
        • Ceil
        • Chr
        • Cos
        • Clip
        • ClipFormat
        • Count
        • DateDiff
        • DatePart
        • DegToRad
        • DisplayName
        • Elapsed
        • Exists
        • FileCount
        • FileExt
        • FilePart
        • Floor
        • Format
        • Hypot
        • InStr
        • IsAlpha
        • IsChecked
        • IsDigit
        • IsDir
        • IsEnabled
        • IsFile
        • IsLower
        • IsParent
        • IsPath
        • IsPunct
        • IsSelected
        • IsSet
        • IsSpace
        • IsUpper
        • KeyDown
        • LanguageStr
        • LCase
        • Left
        • Len
        • MakeLegal
        • Match
        • Max
        • Mid
        • Min
        • Now
        • Output
        • Parent
        • PathType
        • Pow
        • RadToDeg
        • RegEx
        • RegExS
        • Replace
        • Resolve
        • Reverse
        • Right
        • Root
        • Rnd
        • Round
        • Running
        • Select
        • Sin
        • Space
        • Stem
        • StrCmp
        • String
        • Sqrt
        • Swap
        • SysInfo
        • Tan
        • Trim
        • Truncate
        • TypeOf
        • UCase
        • URLEncode
        • Val
      • DOpusRT Reference
        • External Manipulation of File Collections
        • Retrieving File and Folder Information
      • Metadata Keywords
        • Keywords for Columns
        • Keywords for SetAttr META
      • Textual Filters
      • Icon Sets
        • Icon Set XML Definition File
        • Icon Sizes
        • Icon Names
        • Icon Display Names
        • Icon Categories
        • DPI aware Icon Sets
        • Localization
        • Icon Images
      • Rename Macro Language
    • New In Directory Opus 13
      • Directory Opus 13 (Highlights)
        • Highlights Page 1
        • Highlights Page 2
        • Highlights Page 3
        • Highlights Page 4
        • Highlights Page 5
        • Highlights Page 6
      • Directory Opus 13 (Detailed)
        • Dark Mode & Cosmetics
        • File Copying
        • Everything (indexed search)
        • Evaluator
        • Lister Defaults
        • Folder Tree
        • File Display
        • Thumbnails
        • Folder Tabs
        • Location Bar
        • Filter Bar
        • Find As You Type (FAYT)
        • Search Field
        • Find Files
        • Duplicate Files Finder
        • Synchronize
        • Other Utility Panels
        • Metadata
        • Columns
        • Folder Sizes
        • Status Bar
        • Rename
        • Viewer
        • Image Converter
        • File & Folder Labels
        • Folder Aliases
        • Folder Formats
        • Preferences
        • Customize
        • Default Toolbars & Menus
        • Script IDE
        • File Types
        • Set Attributes
        • Print / Export Folder Listing
        • Split / Join
        • Archives
        • Cloud Storage
        • User Interface Spacing
        • Virtual Desktops
        • Shell Extensions
        • Miscellaneous Features
        • Miscellaneous Fixes & Workarounds
        • Miscellaneous Commands
        • Miscellaneous Scripting
        • Removed Functionality
      • Tips for Upgrading from Opus 12
由 GitBook 提供支持
在本页
在GitHub上编辑
  1. Manual
  2. Reference
  3. Command Reference

Command modifier reference

上一页Codes for clipboard and variables下一页Scripting Reference

最后更新于10个月前

The following is a list of the various supported in toolbar buttons and hotkeys.

Modifier
Description

@admin

If used by itself, this modifier affects the entire function. It can also be used to elevate a specific command rather than the entire button.

The command following this modifier will be run asynchronously - Opus will not wait for it to exit before running the next command in the function (or before running this command again for the next selected file).

Displays a confirmation dialog. If the user clicks the cancel button, the function is aborted at this point.

The template for this modifier is: @confirm:<message>|<positive text>|<negative text>

<message> is the text shown in the dialog, <positive text> is the text shown on the "OK" button, and <negative text> is the text shown on the "Cancel" button. These three strings are all optional - if not provided, default strings will be used. If you provide <positive text> but not <negative text> then the dialog will have an "OK" button but no "Cancel" button at all.

You can include line-breaks in the message text using the special code (and if you need to include a literal sequence in the text you must escape the \ character, as in ).

This uses the evaluator to return a simple string; functionally this is no different to simply putting the Go DRIVEBUTTONS command on a toolbar button.

As a more complex example, the default Favorites Bar toolbar uses @ctx to build the displayed favorites list, by using the Evaluator to build a command line using the current localised name of the favorites bar branch:

This uses the evaluator LanguageStr() function to retrieve the translated name of a known string, and constructs a command line using the Favorites command to display that branch of the favorites tree.

@admin

elevate the entire function

@admin:notepad.exe {f}

only elevates Notepad

@admin:no

disable UAC prompts for any subsequent commands in this function

@admin:yes

re-enable UAC prompts for any subsequent commands

@async

@async:notepad.exe {f}

runs Notepad asynchronously

@codepage

@codepage:1258

sets the code page to Vietnamese

@confirm

@confirm:Really copy files?

uses default text for the OK and Cancel buttons

@confirm:Really proceed?|Oui!|Non!

specifies custom text for the two buttons

@confirm:All finished|Acknowledged

custom text for the OK button; no Cancel button at all

@ctx

@dirsonly

The function will operate only on selected folders, ignoring any files.

The button will be disabled if a command clause test is false. This is similar to the conditional testing offered by the @if modifier described below.

@disableifpath @disableifpathr

Paths may use aliases, environment variables, {apppath} codes, and so on, only when using wildcards (not regular expressions):

The command will be disabled when no files or folders are selected, or optionally when no files of a certain type are selected. This is done automatically for certain standard commands and the modifier lets you make your own commands behave in a similar way. This is similar to @hidenosel.

For lister toolbars, you can use the minfiles, maxfiles and numfiles keywords to specify a minimum, maximum, or exact number of files which must be selected for the button to be enabled. Similarly, mindirs, maxdirs and numdirs can limit the number of selected folders.

Using the type keyword you can configure a button to be disabled unless at least one file is selected whose name matches the supplied wildcard pattern. (It is not required that all selected files match the pattern; only one.) You can also combine this with dirs for a button that works if a folder is selected or if a file of a certain type is selected. If you use type, it must be the last thing on the line, since everything after the = will be considered part of the pattern (allowing the pattern to include things which would otherwise be confused with other keywords and parameters).

You can also use a ! character to negate the test. It must be the first thing after the :. For example,

The button will be enabled if a command clause test is true. This is similar to the conditional testing offered by the @if modifier described below.

@enableifpath @enableifpathr

Paths may use aliases, environment variables, {apppath} codes, and so on, only when using wildcards (not regular expressions):

@eval @evalalways

  • Code after @eval: is only run when dynamically updating the button's label, visibility and enabled/disabled state. It's not run when the button is clicked.

  • Code after @evalalways: also runs when the button is clicked. This lets you set up variables which are used both when executing commands and, e.g. also when updating their labels.

In this example, the type value is initialised once in the top line, and then referred to multiple times in the subsequent lines.

@dirsonly

operate only on directories

@disableif

@disableif:Set DUAL=toggle

button will be disabled if the Lister is in dual-display mode

@disableif:!Set DUAL=toggle

button will be disabled if the Lister is NOT in dual-display mode

@disableifpathr:^C:\

disable command if source path is on the C: drive

@disableifpath:!*\Work\*

disable unless source path is underneath a folder called Work

@disableifpath:!/desktop

disable unless in the Desktop folder

@disableifpath:!%SystemRoot%\System32

disable unless in C:\Windows\System32 (on a typical system)

@disableifpath:{apppath|dopus.exe}

disable if in the folder where Opus is installed

@disableifpath:shell

disable if in a hosted virtual folder

@disablenosel

@disablenosel

disable button when nothing is selected

@disablenosel:files

disable button when no files are selected

@disablenosel:dirs

disable button when no folders are selected

@disablenosel:numfiles=2

disable button unless exactly 2 files are selected

@disablenosel:maxfiles=5

disable button unless 5 files or fewer are selected

@disablenosel:mindirs=3,maxdirs=5

disable button unless 3, 4 or 5 folders are selected

@disablenosel:type=*.jpg

disable button when no files ending with ".jpg" are selected

@disablenosel:type=old

disable button when no files beginning with "old" are selected

@disablenosel:dirs,type=*.png

disable unless any folders, or any files ending with ".png", are selected

@disablenosel:!type=*.jpg

disable button if files ending with ".jpg" are selected

@enableif

@enableif:Set DUAL=toggle

button will be enabled if the Lister is in dual-display mode

@enableif:!Set DUAL=toggle

button will be enabled if the Lister is NOT in dual-display mode

@enableifpathr:^C:\

enable command if source path is on the C: drive

@enableifpath:!*\Work\*

enable unless source path is underneath a folder called Work

@enableifpath:!/desktop

enable unless in the Desktop folder

@enableifpath:!%SystemRoot%\System32

enable unless in C:\Windows\System32 (on a typical system)

@enableifpath:{apppath|dopus.exe}

enable if in the folder where Opus is installed

@enableifpath:shell

enable if in a hosted virtual folder

@externalonly

Accepts files and folders only via drag-and-drop. A button with this modifier will ignore any selected files or folders in the Lister - only files dropped onto the button will be used by a command within it.

The function will operate only on selected files, ignoring any folders.

The function will operate on only the first selected file, irrespective of how many items are selected or dropped onto the button.

The @hideblock modifier lets you use the various other modifiers to hide or show multiple buttons at once, without having to repeat the tests in each button.

Use @hideblock:begin on a button to begin the block, along with whichever other modifiers are appropriate. The buttons within the block will be hidden or shown depending on the state of the first button. For example,

This button begins a hide/show block based on the current view mode. If the current view is in thumbnails mode, the buttons will be visible - otherwise they'll be hidden.

Use @hideblock:end on another button to end the block. All buttons between the beginning and end will be hidden or shown as one. Note that the beginning and ending buttons are never shown outside of Customize mode.

The button will be hidden if a command clause test is false. This is similar to the conditional testing offered by the @if modifier described below.

@hideifpath @hideifpathr

Paths may use aliases, environment variables, {apppath} codes, and so on, only when using wildcards (not regular expressions):

The button will be hidden when no files or folders are selected, or optionally when no files of a certain type are selected. This is similar to @disablenosel.

For lister toolbars, you can use the minfiles, maxfiles and numfiles keywords to specify a minimum, maximum, or exact number of files which must be selected for the button to be visible. Similarly, mindirs, maxdirs and numdirs can limit the number of selected folders.

Using the type keyword you can configure a button to be hidden unless at least one file is selected whose name matches the supplied wildcard pattern. (It is not required that all selected files to match the pattern; only one.) You can also combine this with dirs for a button that is visible if a folder is selected or if a file of a certain type is selected. If you use type, it must be the last thing on the line, since everything after the = will be considered part of the pattern (allowing the pattern to include things which would otherwise be confused with other keywords and parameters).

You can also use a ! character to negate the test. It must be the first thing after the :. For example,

@icon @icon! @iconp

The @icon directive lets you create buttons that dynamically change their icon based on the test of a command clause, typically via the Set command (similar to @if and @ifset). The default View Mode Cycle button uses this to change its icon to reflect the current view mode.

Each @icon directive in the button specifies the icon to use, and the command directive to test for. For example, if Set VIEW=LargeIcons tests as true, the icon called largeicons will be displayed on the button. If none of the @icon tests match then the icon set in the button itself will be used as the default image.

In the special case of a three-button button, @iconp: and @icon!: directives can also be used in any of the child buttons to change the icon of the parent. @iconp: used in one of the child buttons will set the icon of the parent (but do nothing to the child button). icon!: used in one of the child buttons will set the icon of the parent as well as of that child button.

If you are testing based on the Set command, the command name is technically optional and can be ommitted. For example, VIEW=LargeIcons on its own is the same as Set VIEW=LargeIcons. This ability is there to avoid breaking old buttons and, with new buttons, we recommend you include the command name in all cases to avoid problems in the future.

In the command editor, you can Ctrl+click the @icon: string to select the icon directly.

@icon can use the RECYCLEBINEMPTY argument to test if the recycle bin is empty or not. For example,

Toolbar buttons that use @icon with RECYCLEBINEMPTY will refresh themselves automatically when the recycle bin state changes (this lets you have a button whose icon reflects the state of the recycle bin).

@externalonly

external commands only

@filesfromdroponly

@filesfromdroponly

accept files only via drag-and-drop

@filesonly

@filesonly

operate only on files

@firstfileonly

@firstfileonly

operate on only the first selected file

@functype

@functype:script

the embedded function is a script

@functype:msdos

the embedded function is an MS-DOS batch function

@hideblock

@hideblock:begin

begin a hide block

@hideblock:end

end a hide block

@hideif

@hideif:Set DUAL=toggle

button will be hidden if the Lister is in dual-display mode

@hideif:!Set DUAL=toggle

button will be hidden if the Lister is NOT in dual-display mode

@hideifpathr:^C:\

hide command if source path is on the C: drive

@hideifpath:!*\Work\*

hide unless source path is underneath a folder called Work

@hideifpath:!/desktop

hide unless in the Desktop folder

@hideifpath:!%SystemRoot%\System32

hide unless in C:\Windows\System32 (on a typical system)

@hideifpath:{apppath|dopus.exe}

hide if in the folder where Opus is installed

@hidenosel

@hidenosel

hide button when nothing is selected

@hidenosel:files

hide button when no files are selected

@hidenosel:dirs

hide button when no folders are selected

@hidenosel:numfiles=2

hide button unless exactly 2 files are selected

@hidenosel:maxfiles=5

hide button unless 5 files or fewer are selected

@hidenosel:mindirs=3,maxdirs=5

hide button unless 3, 4 or 5 folders are selected

@hidenosel:type=*.jpg

hide button when no files ending with ".jpg" are selected

@hidenosel:type=old

hide button when no files beginning with "old" are selected

@hidenosel:dirs,type=*.png

hide unless any folders, or any files ending with ".png", are selected

@hidenosel:!type=*.jpg

hide button if files ending with ".jpg" are selected

@if @ifset

Allows simple conditional behaviour based on tests for various commands.

For example, you could configure a button to read a folder into the right file display in a dual-display Lister, or into the current file display otherwise.

As another example, @ifset can use the RECYCLEBINEMPTY argument to test if the recycle bin is empty or not:

The possible forms of this modifier are:

You can negate the condition by prefixing it with a ! character. For example, all four of these are equivalent:

@if:<command line>

test if a specific command condition is true

@ifset:<Set command argument>

test for a specific Set command condition

@if:enabled <command>

test if a command button would be enabled (rather than highlighted)

@if:$foo

test if a variable called "foo" has been set

@if:$glob:bar

test if a global variable called "bar" has been set

@if:SIDE=left

test if the toolbar is tied to the left file display

@if:SIDE=right

test if the toolbar is tied to the right file display

@if:&&ARG&&=value

@if:&&ARG&&!=value

@if:else

an "else" clause that is executed if nothing else matches

@if:common

common instructions that are always executed

@ifexists

Lets a function do different things depending on file or folder selection. The available tests are the same as for the @disablenosel modifier (documented above).

For example,

@ifexists:

<drive or path> - test if drive or path exists

@ifexists:wild:

<drive or path> - test if drive or path exists. Allows wildcards in the final path component

@ifexists:!

<drive or path> - test if drive or path does not exist

@ifexists:else

an "else" clause that is executed if the path doesn't exist

@ifexists:common

common instructions that are always executed

@ifsel

@ifpath @ifpathr

The possible forms of this modifier are:

You can negate the condition by prefixing it with a ! character.

Examples:

Allows simple conditional behaviour based on whether a specified process is currently running. You can use wildcards or (by prefixing the pattern with regex:) regular expressions.

Allows simple conditional behaviour based on whether various qualifier keys are held down when the function is run.

The qualifiers to test for are specified using one or more keywords (shift, ctrl and alt) which represent the Shift, Ctrl and Alt keys. For example, you could configure a button to select all files, then copy, move or create shortcuts to them, depending on which keys were held down.

The possible forms of this modifier are:

TOBEDONE

@ifpath:<path or wildcard>

test for a path (using standard pattern matching)

@ifpathr:<regular expression>

test for a path (using regular expressions)

@ifpath:else

an "else" clause that is executed if nothing else matches

@ifpath:common

common instructions that are always executed

@ifpath:C:\Program Files

Tests you are in C:\Program Files

@ifpath:!C:\Program Files

Tests you are anywhere but C:\Program Files

@ifpath:C:\Program Files\*

Tests you're in a folder below C:\Program Files (does not include Program Files itself)

@ifpath:!C:\Program Files\*

Tests you are not in a folder below C:\Program Files

@ifrunning

@ifrunning:notepad.exe

test if Notepad is running

@ifrunning:!note*

test if a process starting with "note" is not running

@ifrunning:else

an "else" clause that is executed if the process doesn't exist

@ifrunning:common

common instructions that are always executed

@keydown

@keydown:<qualifiers>

test for a qualifier key or combination of keys

@keydown:!<qualifiers>

test for a qualifier key or combination of keys NOT being down

@keydown:any

// tests if any qualifier keys are held down*| |@keydown:none|instructions that are executed if no qualifiers are held down| |@keydown:common|*common instructions that are always executed//

@label

@leavedoswindowopen

Instructs Windows to log usage of programs or documents opened by this function. Typically this means any files used will be added to the recent documents list, and any programs that are launched are added to the recent applications list.

Prevent the expansion of any environment variables in the function. Normally environment variables like %USERPROFILE% are expanded during the function parsing phase - this modifier causes variable names to be left intact.

Prevents Opus from automatically downloading or extracting non-filesystem files when passing their paths to external programs. For example, you may want to use {filepath} to pass the ftp:// path of a file on a remote FTP server to an external program. By default Opus will download the file to a temporary file, and pass the name of the temporary file to the program - with this modifier, Opus will instead pass the original file path.

Disables the automatic display of a progress indicator for this function. You should use this with care as without a progress indicator there is no way to abort the command or monitor its progress. Normally only script functions should use this when they want to provide and control their own progress indicator.

The default behaviour of this function would be to open a DOS window and print the string "one", then display the Opus About dialog, and then open another DOS window and print the string "two". If, however, the function were changed as follows:

The new behaviour would be to first display the About dialog, and then open a single DOS window and print both the strings "one" and "two". The @norunbatch modifier causes all Opus internal commands to be executed first, followed by all external commands.

Outputs all text on the rest of the line to the Script Log. Useful for debugging. The output can also be viewed in the Command Editor when its *Run With Logging* mode is on.

Allows a block of commands to be run once per file. Normally, functions containing multiple command lines run each command separately for all selected files.

For example,

With two files, "Apple.txt" and "Banana.txt" selected, this would output:

Using @perfile around these commands like so:

This would output:

Use @perfile:begin to mark the beginning of the per-file block and @perfile:end to mark the end.

@leavedoswindowopen

leave DOS prompt open when function finishes

@logusage

@logusage

log usage of files and applications

@nocall

@nocall:<batch file>

invoke external batch file, do not return control to this function

@nodeselect

@nodeselect

do not deselect items used by this function

@noexpandenv

@noexpandenv

do not expand environment variables

@nofilenamequoting

@nofilenamequoting

do not automatically quote file names and paths

@nolocalizefiles

@nolocalizefiles

do not automatically localize (download) remote files

@noprogress

@noprogress

do not display an automatic progress dialog for this function

@norunbatch

@norunbatch

do not split batch functions because of internal commands

@output

@output <message>

sends <message> to the Script Log

@perfile

@resolvelinks

Shortcuts or links passed to commands in this function will be resolved to their targets. Without this modifier, a selected .lnk file would be passed as-is.

Force the execution of an MS-DOS batch function at a certain point. The default behaviour is for such functions to be executed at the very end of the function - using this modifier you can force a break in the function at any line. For example:

This will cause two separate DOS windows to open, one displaying the text "one" and the other displaying "two". Without the @runbatch directive, the two commands would have been executed in the one window.

Forces the command following the modifier to only be run once per function, instead of once per file.

For example,

Normally, variables do not persist from one invocation of the function to another, and you can not refer to variables set in one function from another. However this can be accomplished by prefixing the variable name with a special scope marker that determines which scope the variable will live in.

You can also mark variables to be saved on disk - their values will be remembered from one Opus session to the next. To accomplish this, simply add an exclamation mark (!) to the scope marker. For example,

If you have buttons or status bar codes which react to variable changes, you may need to run the special @toggle:update command to make them update their appearances after making changes to variables. See the @toggle documentation, below.

@resolvelinks

resolve shortcut targets when passing filenames to commands

@runbatch

@runbatch

force a DOS batch function to execute at a certain point

@runmode

@runmode:min

minimize the program's main window

@runmode:max

maximize the program's main window

@runmode:hide

hide the program's main window

@runonce

@runonce:<command>

the specified command will only be run once

@script

@script:<language>

specifies scripting language for Rename command

@set

src:<name>

variable will be scoped to the source folder tab

dst:<name>

variable will be scoped to the destination folder tab

left:<name>

variable will be scoped to the left folder tab

right:<name>

variable will be scoped to the right folder tab

tab:<name>

variable will be scoped to the active folder tab (see below)

lst:<name>

variable will be scoped to the Lister (the whole window)

glob:<name>

variable will be scoped globally

glob!:<name>

refers to a variable with global scope that will be saved on disk.

@set <name>=<value>

sets the named variable to the specified value

@set <name>

deletes the named variable

@showif

The button will be shown if a command clause test is false. This is similar to the conditional testing offered by the @if modifier.

Sends the specified keystroke to the system. The key will be routed to whichever window currently has focus. For example, @sendkey:win+v sends the Win+V key to the system, which opens the Windows clipboard viewer.

Supported qualifier keys are shift, ctrl, alt and win.

As well as letters and numbers, the following named keys are also supported: backspace, capslock, delete, down, end, enter, escape, home, insert, left, numlock, pagedown, pageup, pause, printscr, right, scrlock, space, tab, up.

@showif:Set DUAL=toggle

button will be shown if the Lister is in dual-display mode

@showif:!Set DUAL=toggle

button will be shown if the Lister is NOT in dual-display mode

@sendkey

@showifpath @showifpathr

Paths may use aliases, environment variables, {apppath} codes, and so on, only when using wildcards (not regular expressions):

The command following this modifier will be run synchronously - Opus will wait for it to exit before running the next command in the function (or before running this command again for the next selected file).

For buttons that indicate or change state (e.g. Set VIEW=details), this modifier lets you change when the button appears highlighted.

Depending on where the button is displayed, the highlight may appear as a checkmark (e.g. in a text-only menu), or as the icon or label background being drawn in a different color or style (similar to when the button is pushed).

Taking the Set VIEW=details command as an example, ordinarily the button would appear highlighted when the file display was in details mode, and not highlighted when it was in any other mode. The @toggle modifier can change this:

The @toggle modifier can also control when a button appears highlighted by testing a command, similar to the way @if and @ifset test commands to decide what to run**.** You can use this to highlight a button based on a command which is different to, or in addition to, the commands which the button actually runs.

For example, this button with no @toggle line will switch you to Details mode when clicked, and will appear highlighted when you are in Details mode as well:

When @toggle is not given, the highlighting (if any) is based on the first command in the button.

Using @toggle you can do things like run one Set command while testing for another. As a simple, somewhat contrived example, the button below switches to Details mode when clicked but appears highlighted when in Power mode:

You can make the @toggle test in addition to the first command, rather than instead of it, by putting an "&" character after the "if":

Without the @toggle line, the button above would be highlighted when the view mode was Details (due to the command) and the highlight would not be affected by the Thumbnail column (highlighting does not consider the second command). With the @toggle line added, the button will only be highlighted if the view mode is set to Details and the Thumbnail column is present. You can omit the "Set" command name from the @toggle line; it will assume you mean the Set command if no name is specified. However, this allowance is to avoid breaking old buttons and we recommend you always specify the command when making new ones.

You can test for multiple commands at once by separating them with semi-colons. For example, you could leave out the ampersand and still test for both Details mode and the Thumbnail column using the following directive (and this will work regardless of any other commands in the button, or even as the only line in the button):

You can also negate the result of a test with the exclamation mark in front of the Set clause. For example, to make the button appear checked in any mode other than Details:

The @toggle directive can also test for the existence of a variable (one set via the @set directive). For this to work, the directive must be the very first line of the button, and the variable you are testing must have tab, Lister or global scope. You can use this to create your own custom toggle buttons that keep track of their state using scoped variables. For example:

A button that begins with @toggle:if in this way will automatically update its appearance (to reflect a change in the state of the variable) whenever @set is used within it. If you use @set in a separate button or hotkey to change the variable, you need to force an update of the toggle button's appearance using the special command @toggle:update.

For example, if you have one button which highlights based on a variable but does not change that variable:

And if you have another button which changes that variable but does not highlight based on it, then you will need to add the @toggle:update line to ensure the first button's highlight is updated when you click the second button:

You can also use @toggle:update to ensure buttons with dynamic labels (via @label, above) are updated after changing variables or other details the label depends on. This also ensures toolbar layouts are adjusted if the label widths change.

@showifpathr:^C:\

show command if source path is on the C: drive

@showifpath:!*\Work\*

show unless source path is underneath a folder called Work

@showifpath:!/desktop

show unless in the Desktop folder

@showifpath:!%SystemRoot%\System32

show unless in C:\Windows\System32 (on a typical system)

@showifpath:{apppath|dopus.exe}

show if in the folder where Opus is installed

@sync

@sync:notepad.exe {f}

runs Notepad synchronously

@toggle

@toggle:invert

inverts the usual highlight state of the toolbar button

@toggle:disable

prevents the button from ever appearing highlighted

@useactivelister

The function will operate on the active Lister rather than the current source Lister. Normally these will be the same thing, but this could be useful for a hotkey that you want to have operate on whatever Lister window is currently active, without having to make sure that Lister is set to source first.

@useactivelister

use active Lister instead of source lister

The function requires administrator permissions. This modifier will result in a UAC prompt appearing (unless the Lister is already in ), and any external programs run by this function will be elevated.

The default behaviour is for a function that consists of a single command to run that command asynchronously for each selected file; a function that consists of multiple commands will run each command synchronously. The default behaviour can be changed with the function_default_async option on the page in Preferences, or it can be overridden on a per-command basis with this modifier.

Changes the code page of an . If not specified the default code page is 1252 ().

Allows you to define a using the . As a simple example,

The button will be disabled if the current source path matches the specified pattern. You can provide either an absolute path to test against, or a wildcard pattern (use @disableifpath for , and @disableifpathr for ). You can also use the keyword shell to test for a hosted shell namespace extension (virtual folder).

The button will be enabled if the current source path matches the specified pattern. You can provide either an absolute path to test against, or a wildcard pattern (use @enableifpath for , and @enableifpathr for ). You can also use the keyword shell to test for a hosted shell namespace extension (virtual folder).

Runs code as part of a dynamic test, and optionally as part of the command itself. Typically you would use this to set Evaluator variables which can be used on later lines in the command.

Ignores any Opus specified in the function, and treats all commands as external. This lets you configure an MS-DOS batch function using commands like copy which would normally be overridden by the internal command set.

This directive is only used within an . It lets you specify the type of the embedded function (if not specified, the embedded function is assumed to be a standard function - Opus or external command). For example, the following command would open a new Lister with an embedded script function that runs in the context of the new Lister:

The button will be hidden if the current source path doesn't match the specified pattern. You can provide either an absolute path to test against, or a wildcard pattern (use @hideifpath for , and @hideifpathr for ).

@if is a general test which works with any command, and @ifset is a specific test which only works with the command conditions. For example, @ifset:DUAL=on is equivalent to @if:Set DUAL=on. The test @if actually performs is to evaluate whether a toolbar button with the specified command would appear highlighted or not. For example, if the Lister is in dual-display mode, a button with Set DUAL=toggle as the command would appear highlighted. Therefore, the @if:Set DUAL=toggle modifier would evaluate to true.

You can also evaluate whether a toolbar button would be enabled or not, using @if:enabled. For example, is only enabled when a Lister is in dual-display mode. Therefore, the modifier @if:enabled Set NAVLOCK=Toggle would evaluate to true when the Lister was in dual-display mode.

You can also test if a variable has been set by the @set directive. Additionally, a button on the can test if it's tied to the left or right file display.

Conditional testing can also be used on buttons in the . The following function will toggle the display between 100% zoom and Grow To Page modes, by using @if to test the current zoom mode:

test if a argument matches a given value

test if a argument doesn't match a given value

Allows simple conditional behaviour based on whether the specified drive or path exists. The final component of a path can contain if the wild: prefix is used.

Allows simple conditional behaviour based on the current source path. You can provide either an absolute path to test against, or a wildcard pattern (use @ifpath for , and @ifpathr for ).

For example, you could use this to open different programs when double-clicking on an image file, depending on where the file is stored. If the following command was added to the Left double-click for the Images , pictures located on the network will be opened in the Opus viewer when they are double-clicked, whereas files located on a local drive would open in Photoshop.

If something modifies variables, or other factors that affect dynamic labels, it should notify Opus so labels and toolbar layouts can be updated. Commands should use @toggle:update (see below) and scripts can use to do this.

The console window opened for an will remain open when the function has completed. Without this modifier the window will close when the function finishes, which may make it hard to read the output of any command-line programs. Leaving the DOS window opens relies on passing a particular argument (/K) to the system command interpreter, cmd.exe. If you have modified the default command processor on your system by setting the %ComSpec% environment variable, Opus will not pass /K as there is no way for it to know if this argument would be understood by the new command processor. Instead, you can set the %ComSpecLeaveOpenArg% environment variable, and this will be used instead of %ComSpec% whenever @leavedoswindowopen is used.

An function that invokes an external .bat file will run it directly, rather than using call semantics. This means that control will not return to the parent function once the external .bat file has finished. The default behaviour is to use the DOS call instruction which returns control to the parent function at the end.

Files and folders will remain selected at the end of the function. This lets you override the Deselect files used in functions option on the page in Preferences, on a per-function basis.

Disables the automatic quoting that Opus performs when like {filepath} are used to pass the name of a file that contains spaces. By default Opus will wrap names with embedded spaces in quotes, but occasionally you may want to disable this - some external programs may not need or understand quotes on their command line, and you may also want to provide explicit quotes in a function in case the automatic quoting gets confused by complicated command structures.

When an combines internal and external commands, the default behaviour is for Opus to split the function at every internal command, and execute all the external commands that came before it. For example, imagine the following (rather pointless) function:

Modifies the "run" state of external programs launched by the function - that is, how its main window should appear. This is equivalent to the Run drop-down on the . Not all programs will support this setting, so you will need to use trial and error to some extent. You should only set the mode to hide if you are sure of what you are doing - it is most useful for hiding the otherwise brief flash of a DOS window when running a DOS program.

Specifies the scripting language used for a script. This is mainly used for , because otherwise the script language is selected via a drop-down at the top of the script editor. The @script modifier must be followed by a keyword that specifies the scripting language (or in the case of , the file extension of the add-in itself specifies the language).

Sets the value of a named variable that can be used by the remainder of the commands in the function. You can pass the value of a variable to internal and external commands using the {$} . Variables are most useful in the situation where the value is defined by a {dlgstring} code. For example,

The src: and tab: scopes usually point to the same folder tab within commands. (The tab: scope was introduced so that can refer to the side that the status bar is on, without worrying if it is the source, destination, left or right. It is supported in commands for consistency.)

The button will be shown if the current source path doesn't match the specified pattern. You can provide either an absolute path to test against, or a wildcard pattern (use @showifpath for , and @showifpathr for ).

The default behaviour is for a function that consists of a single command to run that command asynchronously for each selected file; a function that consists of multiple commands will run each command synchronously. The default behaviour can be changed with the function_default_async option on the page in Preferences, or it can be overridden on a per-command basis with this modifier.

This button tests for the existence of a global variable called TestVar. If the variable exists, the button will appear highlighted. Clicking the button evaluates the @ifset: directives and will reverse the state of the variable: if the variable is set, it will be deleted; otherwise, it will be set. The end result is a button that performs no function except to toggle a variable and its visible state each time it is clicked. (This can be useful if the variable controls other things, such as the behaviors of other commands or scripts, or the visibility of .)

The @toggle:update command will also force all status bars to refresh, in case they are to display or hide information.

@admin

elevate the entire function

@admin:notepad.exe {f}

only elevates Notepad

@admin:no

disable UAC prompts for any subsequent commands in this function

@admin:yes

re-enable UAC prompts for any subsequent commands

@async

@async:notepad.exe {f}

runs Notepad asynchronously

@codepage

@codepage:1258

sets the code page to Vietnamese

@confirm

@confirm:Really copy files?

uses default text for the OK and Cancel buttons

@confirm:Really proceed?|Oui!|Non!

specifies custom text for the two buttons

@confirm:All finished|Acknowledged

custom text for the OK button; no Cancel button at all

@ctx

@ctx:=return "Go DRIVEBUTTONS";
@ctx:=return "Favorites SHOWICONS USEQUALKEYS BRANCH=""" + LanguageStr("FavoritesBar") + """;

@dirsonly

operate only on directories

@disableif

@disableif:Set DUAL=toggle

button will be disabled if the Lister is in dual-display mode

@disableif:!Set DUAL=toggle

button will be disabled if the Lister is NOT in dual-display mode

@disableifpathr:^C:\

disable command if source path is on the C: drive

@disableifpath:!*\Work\*

disable unless source path is underneath a folder called Work

@disableifpath:!/desktop

disable unless in the Desktop folder

@disableifpath:!%SystemRoot%\System32

disable unless in C:\Windows\System32 (on a typical system)

@disableifpath:{apppath|dopus.exe}

disable if in the folder where Opus is installed

@disableifpath:shell

disable if in a hosted virtual folder

@disablenosel

@disablenosel

disable button when nothing is selected

@disablenosel:files

disable button when no files are selected

@disablenosel:dirs

disable button when no folders are selected

@disablenosel:numfiles=2

disable button unless exactly 2 files are selected

@disablenosel:maxfiles=5

disable button unless 5 files or fewer are selected

@disablenosel:mindirs=3,maxdirs=5

disable button unless 3, 4 or 5 folders are selected

@disablenosel:type=*.jpg

disable button when no files ending with ".jpg" are selected

@disablenosel:type=old

disable button when no files beginning with "old" are selected

@disablenosel:dirs,type=*.png

disable unless any folders, or any files ending with ".png", are selected

@disablenosel:!type=*.jpg

disable button if files ending with ".jpg" are selected

@enableif

@enableif:Set DUAL=toggle

button will be enabled if the Lister is in dual-display mode

@enableif:!Set DUAL=toggle

button will be enabled if the Lister is NOT in dual-display mode

@enableifpathr:^C:\

enable command if source path is on the C: drive

@enableifpath:!*\Work\*

enable unless source path is underneath a folder called Work

@enableifpath:!/desktop

enable unless in the Desktop folder

@enableifpath:!%SystemRoot%\System32

enable unless in C:\Windows\System32 (on a typical system)

@enableifpath:{apppath|dopus.exe}

enable if in the folder where Opus is installed

@enableifpath:shell

enable if in a hosted virtual folder

@eval:type = PathType(source);
fIsFileSystem = (type == "shell" || type == "filesys")
@showif:=fIsFileSystem
@label:fIsFileSystem ? ("Open " + FilePart(DisplayName(source)) + " in Explorer") : ("Disabled (" + type + ")")

@externalonly

external commands only

@filesfromdroponly

@filesfromdroponly

accept files only via drag-and-drop

@filesonly

@filesonly

operate only on files

@firstfileonly

@firstfileonly

operate on only the first selected file

@functype

Go NEW
[
@functype:script
@script:vbscript
' script function here
]

@functype:script

the embedded function is a script

@functype:msdos

the embedded function is an MS-DOS batch function

@hideblock

@hideif:!Set VIEW=Thumbnails
@hideblock:begin

@hideblock:begin

begin a hide block

@hideblock:end

end a hide block

@hideif

@hideif:Set DUAL=toggle

button will be hidden if the Lister is in dual-display mode

@hideif:!Set DUAL=toggle

button will be hidden if the Lister is NOT in dual-display mode

@hideifpathr:^C:\

hide command if source path is on the C: drive

@hideifpath:!*\Work\*

hide unless source path is underneath a folder called Work

@hideifpath:!/desktop

hide unless in the Desktop folder

@hideifpath:!%SystemRoot%\System32

hide unless in C:\Windows\System32 (on a typical system)

@hideifpath:{apppath|dopus.exe}

hide if in the folder where Opus is installed

@hidenosel

@hidenosel

hide button when nothing is selected

@hidenosel:files

hide button when no files are selected

@hidenosel:dirs

hide button when no folders are selected

@hidenosel:numfiles=2

hide button unless exactly 2 files are selected

@hidenosel:maxfiles=5

hide button unless 5 files or fewer are selected

@hidenosel:mindirs=3,maxdirs=5

hide button unless 3, 4 or 5 folders are selected

@hidenosel:type=*.jpg

hide button when no files ending with ".jpg" are selected

@hidenosel:type=old

hide button when no files beginning with "old" are selected

@hidenosel:dirs,type=*.png

hide unless any folders, or any files ending with ".png", are selected

@hidenosel:!type=*.jpg

hide button if files ending with ".jpg" are selected

Set VIEW=Cycle
@icon:largeicons,Set VIEW=LargeIcons
@icon:smallicons,Set VIEW=SmallIcons
@icon:listmode,Set VIEW=List
@icon:powermode,Set VIEW=Power
@icon:thumbnails,Set VIEW=Thumbnails
@icon:tile,Set VIEW=Tiles
@icon:detailsmode,Set VIEW=Details
@icon:c:\icons\empty.png,RECYCLEBINEMPTY
@if:Set DUAL=on             // if DUAL mode is on
Set FOCUS=right             // give focus to the right file display
Go /mypictures OPENINRIGHT  // read directory into that file display
@if:else                    // otherwise
Go /mypictures              // read directory into current file display
@if:common                  // common commands (always executed)
Set VIEW=thumbnails         // set view to thumbnails mode
@ifset:RECYCLEBINEMPTY
@confirm The recycle bin is empty!
@ifset:else
Delete EMPTYRECYCLE
@if:Show VIEWERCMD=zoom,reset
Show VIEWERCMD=zoom,grow
@if:else
Show VIEWERCMD=zoom,reset
@if:!Set DUAL=on
@if:Set DUAL=off
@ifset:!DUAL=on
@ifset:DUAL=off

@ifexists:

<drive or path> - test if drive or path exists

@ifexists:wild:

<drive or path> - test if drive or path exists. Allows wildcards in the final path component

@ifexists:!

<drive or path> - test if drive or path does not exist

@ifexists:else

an "else" clause that is executed if the path doesn't exist

@ifexists:common

common instructions that are always executed

@ifsel

@ifsel:numfiles=2
<run program that accepts exactly two files>
@ifsel:else
<show an error message>
@ifpath:\\*                      // if path begins with \\
Show                             // invoke the Opus viewer
@ifpath:else                     // otherwise...
Photoshop.exe {f}                // open in Photoshop (the full path would generally need
                                 // to be specified - this is just an example)

@ifpath:<path or wildcard>

test for a path (using standard pattern matching)

@ifpathr:<regular expression>

test for a path (using regular expressions)

@ifpath:else

an "else" clause that is executed if nothing else matches

@ifpath:common

common instructions that are always executed

@ifpath:C:\Program Files

Tests you are in C:\Program Files

@ifpath:!C:\Program Files

Tests you are anywhere but C:\Program Files

@ifpath:C:\Program Files\*

Tests you're in a folder below C:\Program Files (does not include Program Files itself)

@ifpath:!C:\Program Files\*

Tests you are not in a folder below C:\Program Files

@ifrunning

@ifrunning:notepad.exe

test if Notepad is running

@ifrunning:!note*

test if a process starting with "note" is not running

@ifrunning:else

an "else" clause that is executed if the process doesn't exist

@ifrunning:common

common instructions that are always executed

@keydown

Select ALL              // select all items (always executed)
@keydown:none           // if no qualifiers are down
Copy                    // copy files to destination
@keydown:shift          // else if shift key is down
Copy MOVE               // move files to destination
@keydown:ctrlshift      // else if both control and shift keys are down
Copy MAKELINK           // make shortcuts in destination

@keydown:<qualifiers>

test for a qualifier key or combination of keys

@keydown:!<qualifiers>

test for a qualifier key or combination of keys NOT being down

@keydown:any

// tests if any qualifier keys are held down*| |@keydown:none|instructions that are executed if no qualifiers are held down| |@keydown:common|*common instructions that are always executed//

@label

@leavedoswindowopen

leave DOS prompt open when function finishes

@logusage

@logusage

log usage of files and applications

@nocall

@nocall:<batch file>

invoke external batch file, do not return control to this function

@nodeselect

@nodeselect

do not deselect items used by this function

@noexpandenv

@noexpandenv

do not expand environment variables

@nofilenamequoting

@nofilenamequoting

do not automatically quote file names and paths

@nolocalizefiles

@nolocalizefiles

do not automatically localize (download) remote files

@noprogress

@noprogress

do not display an automatic progress dialog for this function

@norunbatch

echo one
Help ABOUT
echo two
@leavedoswindowopen
@norunbatch
echo one
Help ABOUT
echo two
@leavedoswindowopen

@norunbatch

do not split batch functions because of internal commands

@output

@output <message>

sends <message> to the Script Log

@perfile

echo 1 {file}
echo 2 {file}
1 Apple.txt
1 Banana.txt
2 Apple.txt
2 Banana.txt
@perfile:begin
echo 1 {file}
echo 2 {file}
@perfile:end
1 Apple.txt
2 Apple.txt
1 Banana.txt
2 Banana.txt

@resolvelinks

resolve shortcut targets when passing filenames to commands

@runbatch

echo one
@runbatch
echo two
@leavedoswindowopen

@runbatch

force a DOS batch function to execute at a certain point

@runmode

@runmode:min

minimize the program's main window

@runmode:max

maximize the program's main window

@runmode:hide

hide the program's main window

@runonce

@runonce:<command>

the specified command will only be run once

@script

Rename PATTERN * TO *
@script:vbscript
Function ....

@script:<language>

specifies scripting language for Rename command

@set

@set dir={dlgstring|Enter new folder name to copy files to}
CreateFolder ".\{$dir}"
Copy TO ".\{$dir}"

src:<name>

variable will be scoped to the source folder tab

dst:<name>

variable will be scoped to the destination folder tab

left:<name>

variable will be scoped to the left folder tab

right:<name>

variable will be scoped to the right folder tab

tab:<name>

variable will be scoped to the active folder tab (see below)

lst:<name>

variable will be scoped to the Lister (the whole window)

glob:<name>

variable will be scoped globally

glob!:<name>

refers to a variable with global scope that will be saved on disk.

@set <name>=<value>

sets the named variable to the specified value

@set <name>

deletes the named variable

@showif:Set DUAL=toggle

button will be shown if the Lister is in dual-display mode

@showif:!Set DUAL=toggle

button will be shown if the Lister is NOT in dual-display mode

@sendkey

@showifpathr:^C:\

show command if source path is on the C: drive

@showifpath:!*\Work\*

show unless source path is underneath a folder called Work

@showifpath:!/desktop

show unless in the Desktop folder

@showifpath:!%SystemRoot%\System32

show unless in C:\Windows\System32 (on a typical system)

@showifpath:{apppath|dopus.exe}

show if in the folder where Opus is installed

@sync

@sync:notepad.exe {f}

runs Notepad synchronously

@toggle

@toggle:invert

inverts the usual highlight state of the toolbar button

@toggle:disable

prevents the button from ever appearing highlighted

Set VIEW=Details
Set VIEW=Details
@toggle:if Set VIEW=Power
Set VIEW=Details
Set COLUMNSADD=thumbnail(0,96)
@toggle:if&Set COLUMNSTOGGLE=thumbnail
@toggle:if Set VIEW=Details;Set COLUMNSTOGGLE=thumbnail
@toggle:if !Set VIEW=Details
@toggle:if $glob:TestVar
@if:$glob:TestVar
@set glob:TestVar
@if:else
@set glob:TestVar=on
@toggle:if $glob:TestVar
@if:$glob:TestVar
@set glob:TestVar
@if:else
@set glob:TestVar=on
@if:common
@toggle:update

@useactivelister

use active Lister instead of source lister

command modifiers
administrator mode
Miscellaneous / Advanced
MS-DOS batch command
Windows-1252
dynamic button
evaluator
standard wildcards
regular expressions
standard wildcards
regular expressions
Evaluator
internal commands
embedded function
standard wildcards
regular expressions
Set
Navigation Lock
File Display toolbar
standalone viewer
User-defined command
User-defined command
standard wildcards
standard wildcards
regular expressions
event
file type group
Command.UpdateToggle
MS-DOS batch function
MS-DOS batch function
File Operations / Options
external codes
MS-DOS batch function
simple command editor
embedded rename scripts
script add-ins
control code
status bar codes which use variables
standard wildcards
regular expressions
Miscellaneous / Advanced
status bar elements
using variables

@if:<command line>

test if a specific command condition is true

@ifset:<Set command argument>

test for a specific Set command condition

@if:enabled <command>

test if a command button would be enabled (rather than highlighted)

@if:$foo

test if a variable called "foo" has been set

@if:$glob:bar

test if a global variable called "bar" has been set

@if:SIDE=left

test if the toolbar is tied to the left file display

@if:SIDE=right

test if the toolbar is tied to the right file display

@if:&&ARG&&=value

@if:&&ARG&&!=value

@if:else

an "else" clause that is executed if nothing else matches

@if:common

common instructions that are always executed

test if a argument matches a given value

test if a argument doesn't match a given value

User-defined command
User-defined command