TeraTermマクロでログファイル内の文字列をコピー・ペーストする方法

このQ&Aのポイント
  • TeraTermマクロを使用して、ログファイル内の指定した文字列を検索し、コピー、TeraTermマクロ内でその文字列をペーストする方法を解説します。
  • 具体的な手順は、まずスクリプトファイルを実行してTeraTermのログファイルを自動で開きます。ログファイルの中から指定した文字列を検索し、コピーします。そしてTeraTermマクロを自動起動させ、マクロ内でコピーした文字列をペーストします。
  • この方法をWindows上で実行することは可能です。TeraTermマクロと呼ばれるスクリプトファイルを使用して、ログファイルの検索とコピー、そしてマクロ内でのペーストを行います。ただし、事前にTeraTermマクロのインストールや設定が必要な場合がありますので、注意が必要です。
回答を見る
  • ベストアンサー

TeraTermマクロの連携について

TeraTermにて出力されたログファイル内の文字列を検索し、コピー。 コピーした文字列をTeraTermマクロ内にてペーストする処理を考えております。 具体的な処理は以下の通りです。 1.何らかのスクリプトファイルを実行し、TeraTermのログファイルを自動で開く。 2.ログファイルの中身から文字列を検索、コピー 3.TeraTermマクロが自動起動。 4.マクロ内にてコピーした文字列をペースト。 これをwindows上で実行したいと考えています。 事実上可能でしょうか? もし可能でしたら、TeraTermマクロと何を組み合わせることによって 当条件をクリアーできますでしょうか? ほか、必須条件等ありましたら教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • anights
  • ベストアンサー率72% (35/48)
回答No.1

teratermマクロのみでやる場合 1.ログファイルのオープン可能 (fileopen & fileclose) 2. 文字列の検索、コピー(変数にセット)はややこしい条件でなければ可能でしょう (filestrseekとかstrcopyとか) 3. すでに起動中 4. マクロ内で文字列を格納した変数を使ってsendとかsendlnする 例えばVBScriptとかでやる場合 1. VBScriptでファイル開く 2. これもVBScriptで処理 3. VBScriptからttpmacro.exeを呼び出す時にコマンドラインオプションを使ってマクロファイルの指定と システム変数param2とかにコピーした文字列を引数にして起動する 4.teratermマクロの中でシステム変数を使う teratermの外部からコントロールするのにコマンドラインオプションを使えば 言語は大抵選ばないと思いますが。

it2007
質問者

お礼

なるほどぉ。大変参考になりました。どうもありがとうございました。

関連するQ&A

  • TeraTermマクロでの出力キャッチ

    現在TeraTermを使用し、telnetでの自動ログイン及びスクリプトの実行を行っています。 スクリプトの実行(cscriptで実行)までは完成したのですが、そのスクリプトは実行結果として "○"又は"×"の文字列を返してきます。 その出力をマクロ側でキャッチし処理を変える…というような事は可能なのでしょうか? 接続元及び接続先共にWindows2000、2003server、XPのいずれかで、起動スクリプトはVBSです。 宜しくお願いします。

  • teratermマクロ でSQL?

    teratermマクロでLinuxサーバにログインして、 処理を実行し最終的にはファイルをはき出させる、という プログラミングをしたいと思っています。 そこで質問なのですが、「teratermマクロを使って、 Linuxサーバ上のデータベースにアクセスし、 SQLの命令を実行する」ということは可能でしょうか? teratermマクロのsendlnコマンドでSQLの実行が 可能かどうかを知りたいです。 ご存じの方いらっしゃいましたらよろしくお願いします。

  • teraterm文字列の選択

    お世話になっております。 現在、teratermのマクロを用いてサーバログの監視を行おうとしているのですが。 ログを閲覧するコマンドを送信して、ログがドバーっと出てくるのですが、 特定の行の、特定の文字列を指定するという事はteraterm上で可能なのでしょうか? また、その指定した文字列を用いて比較や条件分岐はできるのでしょうか? 現状、ドバーっと出てきたログをテキストファイルに吐き出して、 MSDOSのマクロで特定の文字列を抽出して云々という運用をしております。 teratermのみで実現できれば運用もしやすく、第三者にも分かりやすいので、 できればそうしたいと考えております。 ご教示のほど、よろしくお願い致します。

  • teratermマクロでやりたいこと

    現在teratermマクロを作成しています。 linuxでディレクトリを移動する際のコマンドについて質問です。 やりたいことは以下です。 (1)自動的にsshログイン ↓ (2)ミドルウェア停止 ↓ (3)指定のディレクトリに移動 ↓ (4)ファイルコピーしたり色々コマンドを連続して行う この(3)の部分が上手く出来なくて… (1)(2)(4)の部分は作成したのですが、指定のディレクトリに移動させる方法がわかりません。 指定のディレクトリは以下です。 home/hogeフォルダの配下に以下のフォルダがあります。 ・forder20150111 ・forder20150112 ・forder20150113 上記の全てのフォルダ内にXXXXというフォルダがあります。 移動したいフォルダは「本日の日付で終わっている」フォルダの配下にあるXXXXです。 文言わかりにくかもですが、2015/01/13にマクロを実行した場合、"forder20150113"に配下にあるXXXXフォルダに移動したいです。 更新日などは少しばらつく可能性があるので、あくまでファイルの日付で移動させるフォルダを判断させようとしています。 teratermマクロだけでこのようなことは出来るのでしょうか? シェルスクリプトなども今現在勉強中でまだまだわからないことが多く… わかれば教えていただきたいです… 一応以下のようなことも考えたのですがどう書いていいかわからず… (1)普通にcdでhogeフォルダまで移動するコマンドをマクロに記載 ↓ (2)自分でフォルダを選択してenter押下 ↓ (3)自動でマクロの処理を実行する みたいなことですかね… 他にいい案などあれば教えていただけるとありがたいです。 宜しくお願い致します。

  • teratermマクロをVBAで実行

    teratermマクロについてご教示願います。 teratermマクロを組んで、Linuxサーバにログインして処理をする.ttlファイルを作成しようと思っています。 その.ttlファイルを、VBAのプログラムから実行することは可能でしょうか? やりたいことは、EXCELのシート上にある「実行」ボタンを押下すると、VBAからteratermマクロが実行される、という処理です。 可能かどうか教えてください。また、もしご存じであればその際の VBAの組み方も同時にご教示いただければと思います。 よろしくお願いいたします。

  • 【Teraterm macro】文字列の出力をトリガーにマクロを終了させる

    ど素人な質問ですみません。 teratermにて、ある文字列の出力をきっかけにマクロを終了させるような スクリプトを考えています。 フローとして、 (1):マクロ開始 (2):logファイル生成 (3):ルータの"show xx"にて出力表示 (4):logファイルオープン (5):filestrseekにて"0 input errors"を検索 (6)-1:もし文字列があればマクロ終了 (6)-2:もし文字列がなければ(3)から繰り返し 上記のフローでやりたいと思っています。 考えたマクロが↓です。 logopen 'c:\test.log' 0 0 :not_found sendln 'show interface loop 0' pause 1 fileopen fhandle 'test.log' 0 filestrseek fhandle '0 input errors' if result=0 goto not_found if else result=1 goto found filereadln fhandle str :found sendln 'finish script' fileclose fhandle いろいろ試したのですが、どうやらそもそも'0 input errors'探せてないようです。ログの中には確かに文字列は含まれているのですが。。 本来であればもっと調べるべきですが時間がなく申し訳ありません。 もしわかる方がいらっしゃいましたらご教授ください。 よろしくお願いいたします。

  • TeraTermマクロの文字列結合

    hostname = "100.100.100.100" log="20101010" という変数をteratermマクロで設定しております。 この二つの変数の間に、空白または_(アンダーバー)を一つ入れて "100.100.100.100_20101010" という文字列を作成して、変数に格納するなりしたいのです。 ただ、hostname変数とlog変数の中身は変えれないので、 hostname = "100.100.100.100_"や、log="_20101010"の このやり方以外でお願いします。 ご教授よろしくお願いします。

  • TeraTermのマクロで制御文字のやり取り

    TeraTermマクロの初心者です。 マクロで機器と通信しようとしたのですが上手く行きません。 機器はデータの先頭に[STX]、終端に[ETX]が付く、次のような文字列を 送ってきます。  [STX] データ文字列 [ETX] これに対して、TeraTerm側からは[ACK]の文字を送らなければなりません。 そこで次のようなマクロを作ってみましたが、駄目でした。。  1: while 1 ;無限ループ  2: wait #3 ;ETXを待つ  3: send 6 ;ACKを送る  4: endwhile 2行目の後に、pause文を入れたりして調べたところ、どうも2行目が実行 されていないようです。 分かる方がいましたら、教えてください。

  • TeraTermでマクロを設定する方法

    マクロの設定方法を教えてください。 ●●.ttlファイルは作成済み(SWへのlogin) TeraTermでプロパティ⇒リンク先 termpro.exe ●●.ttl と追加 Teraterm実行するも、うまくできません。 何が要因でしょうか? Teratermマクロ初心者で基本的すぎる質問ですが、ご教授お願い致します。

  • EXCELのマクロでテキストを読み込む方法

    EXCELのマクロを使って、テキストファイルから、ある文字列を検索し、コピーしEXCELのシートのセルにペーストするマクロの書き方をご存知の方は、ご教示願います。 例えば、テキストファイル中の「dog」という文字列を検索して、EXCELの決まったセル(A、1)にコピペするというマクロです。 よろしくお願い申し上げます。