在secureCRT中如何编写VBS脚本使用crt.Screen.Send方法将字符串’OOKK’及其换行符以红色或其它颜色显示并发送到屏幕?颜色应该怎么设置
时间: 2024-10-16 14:06:12 浏览: 10
在SecureCRT中,你可以通过编写Visual Basic Scripting (VBS) 脚本来控制终端的颜色和文本输出。crt.Screen.Send 方法允许你发送字符到屏幕,包括颜色代码。以下是一个简单的示例,说明如何设置文本颜色并发送字符串:
```vbscript
' 设置颜色(在这里以红色为例)
Set color = crt.Screen.Color('Red') ' 更改 'Red' 为其他颜色名,如 'Yellow', 'Blue', 等
' 发送字符串并添加换行符
crt.Screen.Send "OOKK", , True, color
' 关闭颜色设置(如果需要的话)
color.Dispose()
```
在这个脚本中,`crt.Screen.Color('Red')` 部分设置了输出颜色为红色,然后 `crt.Screen.Send "OOKK", , True, color` 会发送字符串 "OOKK" 并在结束后关闭当前颜色模式。`True` 参数表示自动换行。
如果你想要更改其他颜色,你需要查找 SecureCRT 的颜色名称列表,通常这些颜色是基于ANSI escape codes,例如 '0;31' 对应红色。
相关问题
在SecureCRT中编写VBS脚本,以便其运行时首先快速自动按回车键,然后显示字符’c’后再停止?
在SecureCRT中编写VBS(Visual Basic Scripting Edition)脚本来实现在运行时自动按回车并显示字符'C',你可以创建一个简单的批处理过程。以下是一个基础的示例:
```vbscript
Set objShell = CreateObject("WScript.Shell") ' 创建shell对象
' 自动按回车
objShell.SendKeys "{ENTER}" ' 发送Enter键的快捷码
' 显示字符"C"
objShell.SendKeys "c"
' 结束程序
WScript.Quit()
```
保存这个脚本为`.vbs`文件,例如`auto_c.vbs`,然后在SecureCRT中通过命令行或者脚本运行器(Scripter)设置为在连接建立时自动运行。步骤如下:
1. 打开SecureCRT -> 菜单栏选择 `Session` -> `Configuration Parameters...`
2. 在打开的窗口左侧导航到 `Session Options` > `Macro`
3. 点击 `Add` 添加一个新的宏,并设置动作类型为 `Run script file`,然后浏览找到你的`.vbs`文件。
4. 设置好后,在连接时点击 `Start macro on connect` 开启宏自动执行。
secureCRT用vbs写一个60s大循环,在crt.GetTab(3).Screen和crt.GetTab(4).Screen同时以20s周期,再发送1s周期信号
以下是在SecureCRT中使用VBScript编写的一个循环60秒的示例脚本,其中在`crt.GetTab(3).Screen`和`crt.GetTab(4).Screen`同时以20秒的周期发送信号,并在每个周期内以1秒的周期发送消息:
```vbscript
# $language = "VBScript"
# $interface = "1.0"
Dim startTime, currentTime, elapsedTime
' 获取当前时间
startTime = Timer
Do While elapsedTime < 60
' 获取当前时间
currentTime = Timer
' 计算已经过去的时间
elapsedTime = currentTime - startTime
' 判断所属的循环
If elapsedTime Mod 20 = 0 Then
Dim innerStartTime, innerCurrentTime, innerElapsedTime
' 获取当前时间
innerStartTime = Timer
Do While innerElapsedTime < 20
' 获取当前时间
innerCurrentTime = Timer
' 计算已经过去的时间
innerElapsedTime = innerCurrentTime - innerStartTime
' 每秒发送消息
If innerElapsedTime Mod 1 = 0 Then
' 在 Tab 3 的屏幕发送消息
crt.GetTab(3).Screen.Send "Signal 1" & vbCr
' 在 Tab 4 的屏幕发送消息
crt.GetTab(4).Screen.Send "Signal 2" & vbCr
End If
' 等待一秒钟
crt.Sleep 1000
Loop
End If
' 等待一秒钟
crt.Sleep 1000
Loop
crt.GetTab(1).Screen.Send "Loop finished." & vbCr
```
请注意,以上脚本使用了SecureCRT的`crt.GetTab(index).Screen`来获取指定标签页的屏幕对象,并使用`Send`方法向屏幕发送消息。
请将以上脚本保存为`.vbs`文件,并在SecureCRT中运行。希望对您有所帮助!如果还有其他问题,请随时提问。
阅读全文