- 運営しているクリエイター
#TeraTermMacro
【TTL】はじめてのTTLマクロ 11 ログイン先機器一覧を用いてttlを実行
はじめに前の記事まではbatファイルにログイン先の機器の情報(アドレス、ホスト名、ユーザ名など)を記載していましたが、これをcsvファイルに外だしします。
図にすると下記のようになります。
logget.bat@echo offcscript //nologo .\conf\logget.jspause
devices.csvtelnetはユーザ名を聞かれないのでユーザ名を"-"にしています。
【TTL】はじめてのTTLマクロ 10 ログインするプロトコルを指定する
はじめに機器にログインするためのプロトコル(telnet/ssh1/ssh2)を指定できるようにする。
logget.bat第9引数にプロトコルを指定する。
@echo offmkdir logC:\work\logget\conf\teraterm-5.2\ttpmacro.exe C:\work\logget\logget.ttl CEN-M-RT-001.log 192.168.11.1
【TTL】はじめてのTTLマクロ 9 コマンド一覧のファイルを指定してログ保存
はじめに取得するコマンド一覧となるテキストファイルを読み込んで、ログを取得できるようにする。
logget.bat引数の8番目にコマンド一覧(command.txt)を指定する。
@echo offmkdir logC:\work\logget\conf\teraterm-5.2\ttpmacro.exe C:\work\logget\logget.ttl CEN-M-RT-001.log 1
【TTL】はじめてのTTLマクロ 8 ログ名とログ格納フォルダを指定してログ保存
はじめに取得するログのファイル名と格納先を指定する。
具体的には、
・ファイル名は、batの引数で指定
・フォルダ名は、"log"固定とし、フォルダが無ければ作成する
logget.bat引数の2番目に拡張子付きのログファイル名(CEN-M-RT-001.log)を指定する。
@echo offmkdir logC:\work\logget\conf\teraterm-5.2\ttpmacro
【TTL】はじめてのTTLマクロ 7 ホスト名一致確認
はじめにログ取得対象のNW機器はプロンプトにホスト名が表示されるようになっている。そのため、ログイン先のホスト名と、batに記載されたホスト名が一致していることをチェックする。これにより、ログイン先アドレスの誤りを検知可能になる。
logget.bat引数の7番目にホスト名(CEN-M-RT-001)を指定する。
@echo offmkdir logC:\work\logget\conf\te
【TTL】はじめてのTTLマクロ 6 iniファイルの読み込み
はじめにconnect後にiniファイルを読み込み、バックグラウンドカラーやフォントなどを変更します。
これにより、無事connectできた際にウィンドウの見た目がかわるので、処理状況が分かるようになります。
TERATERM.INI変更したい個所を記載。
VTColorは、文字のRGB、背景のRGBの順です。
[Tera Term]; Language (English/Japanese/R
【TTL】はじめてのTTLマクロ 5 TTLマクロに引数を渡す
はじめにTTLマクロをダブルクリックで実行から、batから実行に変更します。
これにより、TTLマクロに直書きしていたログイン先のIPアドレスやユーザ名などを外だしします。
logget.batttpmacro.exeとttlマクロはフルパスで指定する必要があります。
また、後ろに引数を記載します。(引数はログ名、IPアドレス、ログインパスワード、enableパスワード、ログインユーザ名の順とし
【TTL】はじめてのTTLマクロ 4 デバッグモードを自前実装
はじめにデバッグモードを自前で実装し、デバッグモードをオンにすると途中途中でメッセージを表示するようにする。
logget.ttlif numDebugFlag = 1 messagebox "funcMakeLogFile" "debug"
のように各サブルーチンの冒頭にメッセージボックスを表示して、どこまで処理が進んだか分かるようにする。
また、messageboxでの確認は変数の確認でも使
【TTL】はじめてのTTLマクロ 3 TTLマクロでサブルーチンを使用
はじめにサーブルーチンを自作関数のように使用します。再帰的な利用があるわけではないですが、処理の流れやコード内の処理のブロックをわかりやすくするため、サブルーチンを使用しました。
サブルーチンはcallでラベル名を指定して呼び出し、returnで戻ってきます。
returnの後はcall [ラベル名]の次の行から処理が始まるのでendを入れておかないとサブルーチンの処理が再実行されてしまうので注
【TTL】はじめてのTTLマクロ 2 TTLマクロの変数のスコープを調べた話
結論結論:すべてグローバル変数のような挙動
はじめにttlマクロを実装していくと、変数や自作関数(サブルーチン)を利用することになります。自作関数を使うとなると気になるのは変数のスコープです。なので調べてみました。
※ここまで読んで「スコープ?自作関数?」となる方は、いったん「TTLマクロにおいて、変数はどこかで作成されたら、いつでもどこでも変更/読込が可能」と思ってください。
コードstr1
【TTL】はじめてのTTLマクロ 1 TereTermのTTLマクロを書いてみた
はじめにCisco機器向けにttlマクロを改めて実装しつつ、考え方や実装方法を書いていきます。
対象読者
・TTLマクロを使ったこともあるしコードも少し見たことあるけど実は良く分かっていない方
・TTLマクロを見たことも聞いたこともないが、自分で手を動かしながら調べながら頑張れる方
マクロの考え方マクロで実装と言っても何していいか分からない方もいるかもしれません。基本の考え方は簡単で「自分が