1

我现在正在做一些 teraterm 脚本,我想等待某个单词(在某个大字符串中),如果找到该单词,则执行一个命令,如果找不到则执行另一个命令。我尝试使用wait和if_else,但它不起作用,请帮助。

4

3 回答 3

3

根据您的问题,我相信您可以在不使用if_else的情况下实现正确的解决方案。一周前我刚刚参与了teraterm的脚本编写,到目前为止我的经验和知识是在COM端口通信方面。例如,我将显示一个登录代码片段:

;Set the COM port
connect '/C=5'

;Set Baud rate
setbaud 9600

;Set the display
showtt 1

;Set the timeout in seconds and result
timeout = 10
result = 1

;Set the username and password's prompt and value
UsernamePrompt='login:'
PasswordPrompt='Password:'
Username='admin'
Password='mypasword'

;Wait for the UsernamePrompt
wait UsernamePrompt
;If timeout occurs, result will be 0, else, result will be 1
if result = 0 goto Error
if result = 1 goto Ok

:Error
;Do the processing here if timeout occurs

:Ok
;Do the processing here if UsernamePrompt is received
sendln Username

我相信这会对你有所帮助。你可以去这里:https ://ttssh2.osdn.jp/manual/en/macro/command/wait.html 了解超时等待

祝你今天过得愉快。

哈里

于 2017-03-16T07:05:39.670 回答
1

和我的实验一样,我发现在处理大字符串时,waitln 仍然可用。我使用 waitln 来等待足够长的字符串(超过两个单词)并使用 if...then...endif。

于 2015-01-28T17:48:44.183 回答
0

检查宏的超时时间。明确提供一些超时值

于 2015-12-23T04:42:46.930 回答