功能导览 脚本编程

脚本编程

Scripting

XYplorer 脚本编程(自版本 7.00 引入)提供了终极的文件管理效率。编写您自己的自定义命令,将它们组合成脚本,封装到 XY Script 文件 (XYS) 或用户自定义命令中,然后一键或一键执行。还能更好吗?当然!与同事分享脚本或从网上下载:只需将脚本文件放入应用程序文件夹,即可获得全新的插件命令。

毫无疑问,脚本编程是一项高级功能,只有在您花时间深入探索其可能性时才能获得回报。不过,您会发现它根本不是火箭科学。

脚本能为我做什么?

在我们深入之前,以下是脚本能为您做的一些真正精彩的事情:

脚本速成课程

尝试脚本对话框

让我们做一些简单的热身练习来入门:

  1. 选择菜单 脚本 | 尝试脚本...
  2. 在编辑框中粘贴 msg "Hello world!";
  3. 点击确定。

您现在应该看到一个"Hello world!"消息框。恭喜,您刚刚编写了第一个 XYplorer 脚本!

现在来点更有趣的:

到目前为止您看到的 XY 脚本特点是:

将脚本放在哪里

当然,"尝试脚本..."对话框只是用来练习和调试的。对于日常使用,我们需要更好的方式。

地址栏脚本

让我们从快速脚本开始:在地址栏中输入 ::msg "Hello world!"; 并按 Enter。您应该看到一个"Hello world!"消息框。

如您所见,快速脚本意味着:脚本在前缀 "::" 后可以通过 XYplorer 中能处理位置的任何界面直接(即快速)执行:地址栏、转到、收藏夹、目录面板等。

目录面板中的脚本

对于鼠标用户,目录面板是放脚本的好地方。使用 "::" 前缀,脚本可以直接输入到目录元素的位置字段中。一键即可执行。

对于键盘爱好者,有UDC(用户自定义命令)。使用 "::" 前缀,脚本可以输入到 UDC 转到项的位置字段中,然后为其分配键盘快捷键。

用户菜单中的新命令

用户菜单显示新添加的命令。

当然,您不必滥用转到 UDC 来运行脚本。还有 UDC 运行脚本,它接受没有 "::" 前缀的脚本。运行脚本还可以处理更高级的内容,如多行脚本和多脚本:

goto "Desktop|";
  // sort by modified date, descending
  sortby "m", "d";
  // select first
  sel 1;
  focus "List";
运行脚本截图

上述脚本的截图。

单步执行脚本

假设您有一个旧脚本 #230;,但忘了 #230 是什么。怎么办?进入单步模式:

  1. 打开脚本菜单并勾选"单步模式"。
  2. 执行您的神秘脚本。
脚本菜单,单步模式

脚本菜单,单步模式已勾选。

将弹出一个对话框告诉您即将发生什么。您可以决定是执行命令、跳过它还是中止整个脚本。单步模式下您是安全的。编写或调试脚本时强烈推荐

还有一个用于切换单步模式的工具栏按钮。按下时(单步开启)其颜色变为红色以清楚显示当前状态。

单步模式关闭

单步模式关闭。

单步模式开启

单步模式开启。

XYplorer 脚本文件

我们说的是由文本文件定义的用户自定义弹出菜单。来做一个:

  1. 在任意编辑器中创建一个新文本文件。
  2. 粘贴以下内容:
// some little test scripts
"Go to C:\"
  goto "C:\"
"Go to System Folder"
  goto "%winsysdir%"
"Go to XYplorer Folder"
  goto "<xypath>"
  1. 将文件保存为"test.xys"(XYplorer 脚本文件)到 XYplorer 的应用程序数据路径。
  2. 在 XYplorer 中,点击 脚本 | 加载脚本文件... 菜单并打开 test.xys。
脚本文件菜单

以下菜单应出现在光标处。

脚本文件基本上是一个脚本库。它只是一个简单的文本文件,可以包含一个或多个脚本。您可以直接调用其中一个脚本,或者只是加载整个文件——XY 将根据文件中的脚本创建菜单并弹出。

XYplorer 脚本文件的语法规则

标签

您可以使用标签直接执行文件中的脚本,绕过弹出菜单。标签附加到标题后,用" : "(空格-冒号-空格)分隔:

// some little test scripts, using labels
"Go to C:\ : croot"
  goto "C:\"
"Go to System Folder : system"
  goto "%winsysdir%"
"Go to XYplorer Folder : xy"
  goto "<xypath>"

如果上述内容保存在名为"test.xys"的文件中,以下命令将直接带您到系统文件夹:load "test.xys","system"

用户自定义变量

随着您在脚本编写上的进步,您很快会感到对变量的需求。XYplorer 允许您使用 setinputreplace 等命令定义和使用任意数量的变量。

脚本 $a = "Hi!"; msg $a; 将定义新变量 $a 并将字符串"Hi!"赋值给它;然后消息框显示"Hi!"。

变量在后续命令的参数中出现时会被解析,即使它们出现在引号字符串中。例如:

$name = "Ted"; msg "Hi, I'm uncle $name!";

将显示消息"Hi, I'm uncle Ted!"。

变量必须遵循以下规则:

示例脚本

backupto "D:\Archives\XY\<srcver>_<date yyyy-mm-dd>",
  "<xypath>\XYplorer.exe";

这个小脚本将当前 XYplorer.exe 备份到 D:\Archives\XY\6.80.0080_2008-02-17

$q = input("Query to Replace:");
$t = input("Text to Replace Query With:");
// rename of type search & replace, case-insensitive, with preview
rename "s", "$q/$t", "p";

豪华批量重命名。此脚本将要求您输入两个字符串,然后在所有当前选中的文件名中用一个替换另一个。

使用脚本生成报告

writefile("Report_<date yyyymmdd_hhnnss>.htm",
  report("<tr><td>{Name}</td>
  <td align=right>{Size B} {dir [DIR]|bytes|}</td>
  <td>{Created}</td><td>{Modified}</td></tr><crlf>", ,
  "<table cellpadding=4>", "</table>"));

生成当前文件夹的 HTML 表格并保存为带当前日期时间的文件名。

脚本命令参考

有关所有脚本命令的完整参考,请参阅帮助文件。

脚本资源

以下是您可以找到免费脚本使用和学习的地方:

XYplorer 用户论坛中的脚本交流区

上一篇:用户自定义命令 返回导览目录
本页面最后更新于 2024-01-11。截图不一定反映应用程序的当前外观。某些功能可能已在当前版本中更改或增强。