【调用方法】
1、先编写 VBS 脚本。比如我们要让 xShell 在目标设备需要确认时自动输入 y ,可以像下面这样编写脚本:
Sub main
xsh.Screen.Synchronous = True ' 使窗口显示与当前输出同步
xsh.Screen.WaitForString "Reboot now? (y/n)" ' 等待目标设备发回 "Reboot now? (y/n)" 字符串
xsh.Screen.Send "y" & VbCr ' 输入字符 y 并回车
End Sub 2、再在 xShell 中调用脚本。按照顺序 “会话属性” -> “登录脚本” -> 勾选“连接会话时运行脚本” 来选择需要的脚本,如下图:
图1 脚本选择窗口
【注意事项】
1、除了使用 VBScript 来编写,被调用的脚本也可以是 JavaScript 脚本、Python 脚本。
2、不使用脚本也可以实现自动化操作。如 图1,我们可以勾选 “执行以下等待并发送规则”,然后根据需要添加规则。如果你不太熟悉脚本语言,建议你采用这种方式。
【函数及参数说明】
在操作Xshell的终端屏幕时可使用下列函数和参数。 为使用这些函数和参数,需同时运行 xsh.Screen。例如要使用‘Clear()’函数应同时启用 ‘xsh.Session.Clear()’。
Functions
返回值
函数
参数
说明
void
Clear()
清除终端屏幕。
void
Send(LPCTSTR lpszStrToSend)
lpszStrToSend
用户拟要发送的字符串
向终端发送消息。
BSTR
Get(long nBegRow, long nBegCol, long nEndRow, long nEndCol)
nBegRow
终端的行起始位置
nBegCol
终端的列起始位置
nEndRow
终端的行末端位置
nEndCol
终端的列末端位置
读入终端规定区域的字符串后返回值。
void
WaitForString(LPCTSTR lpszString)
lpszString
终端中出现的字符串
等待消息。
Long
WaitForStrings(VARIANT FAR* strArray, long nTimeout)
strArray
终端中出现的字符串
nTimeout
等候时间的毫秒值
返回值
发现的字符数
等待消息直至到时。
void
Synchronous(BOOL bSync)
bSync
1(True): 使用画面同步化
0(False) : 禁用画面同步化
定义画面的同步化。
参数
名称
类型
说明
CurrentColumn
long
返回当前值。
CurrentRow
long
返回当前行。
Columns
long
返回与终端的列宽相同的列数。
Rows
long
返回与终端的行高相同的行数。
【扩展阅读】