Teratem-无效的主机

时间:2018-08-15 10:47:29

标签: host teraterm

我对Teraterm感到毫无用处。

我试图创建一个简单的宏macro.ttl来发送一些愚蠢的命令:

connect '/C=3'
sendln '?' 
sendln '|3'

为了: 连接'/ C = 3'-连接到端口3(虽然已经在配置中), sendln'?' -显示帮助, sendln'| 3'-进入此菜单, 等

当我打开Teraterm并转到宏并打开文件时,此方法有效,但是现在我的问题是如何从cmd窗口处理此问题。 我尝试过:

start ttermpro.exe TTPMACRO "Teraterm_macros\macro.ttl"

基本上:启动Teraterm,打开宏以及宏文件的路径和文件名。 但它报告错误:

  

无效的主机

有任何提示吗? thnx

2 个答案:

答案 0 :(得分:1)

命令start ttermpro.exe TTPMACRO "Teraterm_macros\macro.ttl"将导致Tera Term尝试连接到主机“ TTPMACRO”,该主机可能不存在。因此,Tera Term将打印“ Invalid Host”错误消息。

根据ttermpro命令行选项(here)的文档,使用宏启动Tera Term的命令为:

start ttermpro.exe /M="Teraterm_macros\macro.ttl"

其中/ M选项定义为:

  

/ M =       从宏启动Tera Term。       如果此值不是完整路径,则应理解为来自ttermpro.exe的相对路径。

答案 1 :(得分:0)

我考虑过要写所有我想做的步骤,以防万一像我这样的人(dumb)陷入困境:

1-将.ttl与Teraterm宏应用程序相关:

1a-我转到我的宏,单击R鼠标,“打开方式...”,“选择其他应用程序”,“更多应用程序”,“在此PC上查找其他应用程序”并选中“始终使用”此应用程序以打开.ttl文件”。

1b-我先找不到该应用程序,然后在c:> Program Files(x86)>中找到了该应用程序    Teraterm并选择可执行文件“ ttpmacro.exe”。

2-修改宏以启动通信,因为必须关闭Teraterm才能使其正常工作,因此,当宏启动Teraterm时,您需要指定端口:

2a-我在Teraterm宏中添加了:connect'/ C = 3'(在我的情况下,我将Teraterm与COM端口3连接)

2b-整个宏:看起来像这样:

connect '/C=3' 
sendln '?' 
sendln '|3' 
sendln 'c' 
sendln '3'

这通过com端口3连接,然后进入一个菜单并发送c,然后发送3。 因此,现在如果我双击该宏,它将单独执行该宏。

3-运行宏的脚本:另外,我决定创建一个批处理文件以从CAPL运行它,我做到了:

3a-如果因为Teraterm exe和宏exe无法同时连接而已经打开Teraterm,则先关闭它:

  

任务列表/ fi“ IMAGENAME eq ttermpro.exe” |找到/ i“ ttermpro.exe”>   如果不是错误,则返回null错误级别1(taskkill / im ttermpro.exe),否则(echo   ttermpro已关闭)

ttermpro.exe是正常启动Teraterm时运行的应用程序名称。

3b-启动宏:

  

“ C:\ workset \ Teraterm_macros \ mytmacro.ttl”

所以看起来像这样:

@echo off
echo.
echo .................................
echo .................................
echo .....  My teraterm macro .....
echo .................................
echo .................................
echo.

echo If Teraterm is launched it will be closed now. 

TIMEOUT /T 5 /NOBREAK 
REM this was to give the user 5seconds to cancel.

tasklist /fi "IMAGENAME eq ttermpro.exe" | find /i "ttermpro.exe" > nul
if not errorlevel 1 (taskkill /im ttermpro.exe) else (echo ttermpro already closed)
REM this is to close Teraterm if it´s opened already.

echo The calibration macro will be launched now. 
"C:\Teraterm_macros\mytmacro.ttl"
REM This is to start my macro. As I alread linked .ttl with the macro app it´ll open.


IF ERRORLEVEL 1 GOTO ERROR
GOTO END

:ERROR
echo my teraterm macro failed.
GOTO END

:END
::exit

4-我从CAPL调用它,因为我想要包含此宏是一个测试:我添加以下行:

  

TestWaitForSyscall(“ C:\ Teraterm_macros”,“ \” scriptwithmytmacro.bat“,0,20000);

此文件在CAPL中打开批处理文件。它可以直接打开宏,但是我想拥有一个bat脚本,以便我可以添加诸如关闭teraterm之类的东西(如果它已经打开的话)。