平常工作中直接打开ttermpro.exe在gui中连接linux服务器,最近接触到用excel控制teraterm的marco,学习了一下。留作记录。

vba代码

  • 读取excel文件里配置的信息,拼接成一个命令(字符串),在windows的cmd里执行。
  • 命令类似C:\work\teraterm\ttpmacro.exe /V C:\work\bin\slq.ttl 192.168.1.10 yourpassword"
Dim executeSheet As Worksheet
Dim configSheet As Worksheet
Dim HOSTADDR, PASSWORD, ttpmacro, ttl, result As String
Dim wsh As ObjectPrivate Function init()Set executeSheet = ThisWorkbook.Worksheets("実行")Set configSheet = ThisWorkbook.Worksheets("設定")'HOSTADDR = executeSheet.Range("B4").ValueHOSTADDR = "192.168.**.**"PASSWORD = "*******"'ttpmacroはteratermにインストールPATHであり,ttpmacro.exeの格納PATHでもありttpmacro = configSheet.Range("C2").Valuettpmacro = ttpmacro & "\ttpmacro.exe" Set wsh = CreateObject("WScript.Shell")
End FunctionSub test1()Call initcommand1 = ttpmacro & " /V C:\works\bin\slq.ttl"command1 = command1 & Space(1) & HOSTADDR & Space(1) & PASSWORDresult = wsh.Run(Command:=command1, WaitOnReturn:=True)MsgBox "result:" & result
End Sub

ttl文件(slq.ttl)

  • ttl文件里记录了 一些登录的信息,要在远程服务器执行的脚本,log相关。
  • param2,param3用来读取windows cmd执行的命令 的参数。
  • sendln 'ls’会在服务器输入ls并回车
  • 连续的sendln可能会有sendln被跳过,所以每个sendln前加个wait '#'或者wait ‘$’
  • LOGOPEN方法参考https://ttssh2.osdn.jp/manual/4/ja/macro/command/logopen.html,第一个1表示写入所有内容,第二个1表示追加写log。

binary flag の値が0のとき、受信した漢字、改行文字は変換されてファイルに書き込まれ、エスケープシーケンスは書き込まれない。
binary flag の値が0以外のとき、受信した文字をすべてそのままファイルに書き込む。

append flag の値が0以外で、ファイル がすでに存在する場合、そのファイルに追加して書き込む。
append flag の値が0で、ファイル がすでに存在する場合、そのファイルは上書きされる。

;;C:\**\ttpmacro.exe /V C:\**\slq.ttl 192.168.**.** yourpassword;===========================================================
; 接続情報
;HOSTADDR = '192.168.**.**'
;USERNAME = 'teratermのlogin Username'
;PASSWORD = 'teratermのlogin Password';windows shellでのコマンドが "**\\ttpmacro.exe /V **\**.ttl 192.168.**.** your**password"ので、
;param2は192.168.**.**、param3はyour**password
HOSTADDR = param2
USERNAME = 'teratermのlogin Username'
PASSWORD = param3; 接続オプション
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD; 接続
connect COMMAND;timeout=3          ;timeoutの使用方法が わからないwait '#';write log
getenv 'USERNAME' username
gettime timestr "%Y%m%d-%H%M%S"
getdir mdir
sprintf2 filename '%s\log_%s_%s.log' mdir username timestrlogopen filename 1 1
logwrite 'Log start'#13#10
logwrite '*******************************************'#13#10
logclosewait '#'
sendln 'echo Start 'wait '#'
testdir='a'
;foldersearch folderが存在するかどうか調べる。
;存在する場合は、システム変数 result に1が返る。存在しない場合は、result に0が返る。
;filesearch fileが存在するかどうか調べる。
foldersearch testdir
;result:    0:ng    1:ok
messagebox result 'result'
if result=0 then
;フォルダを作成する。 parent path need existingfoldercreate testdir
endif
messagebox result 'result'
foldercreate "a/b"
messagebox result 'create a/b result'
;消息框,输入框
;inputbox <message> <title> [<default> [<special>]]
inputbox 'Password:' 'Login' 'zhang3'
messagebox inputstr 'input'strdim msg 3
msg[0] = 'banana'
msg[1] = 'apple'
msg[2] = 'orange'
listbox 'select fruit' 'test2' msg
sprintf2 var "%d" result
messagebox var "result2"
; result
;   -1: Cancel
;    0: banana
;    1: apple
;    2: orangetimes=-1
:retry
times=times+1
sprintf2 title 'retied %d times' times
yesnobox 'もう一回やりますか?' title
if result goto retry
end;transfer file, it can be stoped before files are transfered,so maybe need to check,
;such as https://qiita.com/KurokoSin/items/b4d2d0a81c8d05f110ef
;scprecv '/remote/bad/1.log' 'C:\work1\111.log'
;ng:  scprecv '/remote/bad/a.log' "C:\work1\11\"
;scprecv '/remote/bad/a.log' "C:\work1\111\1.log";scpsend 'C:work2\1.log' '/remote/bad/'
;scpsend 'C:work2\2.log' '/remote/bad/'
;scpsend 'C:work2\bin.txt' '/remote/bad/'
;scpsend 'C:work2\1.log' '/remote/bad/a.log'

teraterm使用ttl文件连接服务器相关推荐

  1. ios13文件连接服务器教程,iOS 13/iPad OS迈向生产力的一大步,SMB文件共享视频图文教程...

    ▲点一直接播放视频 曾经有诗人感叹:"世界上最遥远的距离不是生与死,而是我电脑里那个爱的文件,传不进你的iPhone."虽说苹果总是想让iPad成为生产力工具,但iOS要死不活的文 ...

  2. 苹果app文件连接服务器有什么用,苹果曾经最鸡肋的功能,终于更新了!

    以下文章来源于艾橙科技 ,作者艾橙君 从 iOS 11 系统开始,苹果为 iOS 系统加入了文件 App.通过文件 App 进行,我们可以更好的存储.浏览各种文件. 经过几年的更新,文件 App 越来 ...

  3. ipados 文件 连接服务器,如何管理iPad文件 iPadOS14使用教程

    使用 iPad 文件管理,就必须了解一个 iPadOS 系统自带应用--「文件」.它就像是 Windows 上的「文件资源管理器」,或者是 macOS 上的「访达」. 「iCloud Drive」顾名 ...

  4. ipados 文件 连接服务器,iPadOS 14 教程:如何管理 iPad 中的文件?

    使用 iPad 文件管理,就必须了解一个 iPadOS 系统自带应用--「文件」.它就像是 Windows 上的「文件资源管理器」,或者是 macOS 上的「访达」. 「iCloud Drive」顾名 ...

  5. 服务器连接文件,连接服务器文件

    连接服务器文件 内容精选 换一换 Atlas 200 DK开发者板支持通过USB端口或者网线与Ubuntu服务器进行连接,连接示例图如图1所示.Atlas 200 DK连接Ubuntu服务器有以下场景 ...

  6. ipad的文件连接服务器,iOS 13/iPad OS迈向生产力的一大步,SMB文件共享教程

    ▲点一直接播放视频 曾经有诗人感叹:"世界上最遥远的距离不是生与死,而是我电脑里那个爱的文件,传不进你的iPhone."虽说苹果总是想让iPad成为生产力工具,但iOS要死不活的文 ...

  7. putty使用.pem文件连接服务器

    下载putty https://www.puttygen.com/download-putty 步骤一:使用puttygen将.pem文件转成.ppk文件 puttygen.exe和putty.exe ...

  8. ipad的文件连接服务器,使用Termius从iPad连接到Linux服务器

    借助Termius,iPad用户可以连接到Linux服务器并获得良好的远程体验,包括终端访问.文件访问支持等.本文的内容包括设置SSH服务器.安装Termius.注册Termius帐户.在Termiu ...

  9. ipados 文件 连接服务器,iPadOS更新指南,总有一个功能是你需要的

    近期,苹果向部分ipad用户推送了iPadOS系统,据系统介绍,这是一款强大的操作系统,更能体现iPad的独特之处.iPadOS与IOS同源,针对iPad的大显示屏和多功能增加了全新和直观的强大功能. ...

最新文章

  1. c语言中副作用和顺序点的理解
  2. python类型-Python基本内置数据类型有哪些?
  3. 【Java 集合】Java 集合主要脉络 ( Collection | Map | List | Set )
  4. Button控件的基本使用(初识封装、减少代码冗余性、代码优化)
  5. JSP页面中实现使用taglib导入库时自动提示(JSTL 库安装)
  6. eigen3.3.8帮助文档下载 chm_MAXHUB文档v1.10.1-MAXHUB文档电脑版下载
  7. tomee_一罐将其全部统治:Apache TomEE + Shrinkwrap == JavaEE引导
  8. php mysql 降_php fork太多进程导致整体性能下降,mysql down掉的解决._PHP教程
  9. iisweb服务器完美解决方案
  10. JavaScript学习(五十八)—作用域链
  11. android aar项目_一文了解Android游戏SDK开发
  12. 软件著作权代码格式 java_软件著作权源代码文档格式要求
  13. 真正的程序员职场高手,都是怎么沟通的?
  14. OSS图片服务域名与bucket绑定域名的区别
  15. 接口用例设计从哪些方面考虑
  16. hiho1718(LIS)
  17. SpringBoot+Vue项目月度员工绩效考核管理系统
  18. Navicat Premium 15 “rsa public key not find”解决方法
  19. 桌面上的我的电脑、文件夹打开后只有在任务栏显示
  20. 学习笔记(一)贝叶斯公式

热门文章

  1. 如何利用IP地址实现在线广告精准投放,只需1个公式
  2. zabbix分布式系统监控报错( host not monitored)
  3. java23设计模式---class10、享元模式(FlyWeight)
  4. C++编写万年历,公元后日历程序,考虑了1582年前后以及该年的特殊情况。
  5. 熟悉,掌握,精通? BOSS直聘你真棒!
  6. maniadmin 后台管理模版 HTML
  7. 【selenium-python】预期条件--expected_conditions
  8. 大数据分析实训——使用Spark SQL分析美国新冠肺炎疫情
  9. ArcGIS API for Javascript学习
  10. python 互相关的实现