用途:面向编写或审查 RouterOS 脚本(.rsc、/system/script、调度器 on-event、Netwatch 钩子及交互式 CLI 片段)。RouterOS 使用的是自有语言,并非 shell、Lua、Python 或 Tcl,语法基线可参考 references/syntax.md。
主要能力与要点:不要用交互式 print 行号做脚本标识,需在运行时用 [find dst-address="0.0.0.0/0"] 之类稳定选择器解析目标;[find] 返回零到多个内部 ID 数组,需先判断数量再用 get。在 find/where 中 IP 前缀要加引号,否则可能静默匹配不到;变量值可用 [:tostr $prefix]。print as-value 通常返回映射数组,需先 pick 一行再取属性。monitor-traffic 等监控命令需用 once do={} 才能取值,连字符字段用 $"rx-bits-per-second";调度器或钩子脚本应用 :log。全局变量与函数在别处读取前需 :global 重新声明,变量名应唯一并避免与 dst-address 等属性冲突。数组不是 JavaScript 数组,空数组用 [:toarray ""],索引赋值用 ->;字符串连接 . 会分发到数组。文件无创建空文件或追加原语,需先 print file= 再 set contents=,大文件与二进制不适合脚本。
使用方式:脚本策略属于正确性的一部分,调度器、Netwatch、PPP on-up 等钩子以有限策略执行,需文件、备份、密码、嗅探或重启权限时调用者要具备对应 policy;dont-require-permissions=yes 需谨慎。执行前先验证命令形态,可查 MikroTik 手册 CLI Reference,或对实际路由器用 /console/inspect 确认。
限制:资料未提供具体收费、版本兼容清单与完整示例,暂未提供。