🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

解決済

3回答

8493閲覧

teratermマクロが想定していない場所で実行されるもの、されないものがある

madagasukal

総合スコア24

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

2クリップ

投稿2019/12/09 15:19

編集2019/12/09 15:22

【聞きたいこと】
Tera termマクロのlogopenされる場所はどのように記述したら想定通りの場所に指定できますか?下記だと思ってるのですがうまくいく時、うまくいかない時があります。何がダメなのでしょうか?

getdir DIR changedir DIR

ttpmacro.exeのインストール先場所がどこだろうとTera termマクロと同じ箇所でlogopenしログファイルを出力したいです。

【経緯】
Tera Termマクロを使用して、Linuxサーバログ収集をしようと試みています。
その際にWindowsバッチから、Tera termマクロを実行しています。Tera termマクロ内に記述したlogopenの挙動が想定外のため今回の質問に至ります。

具体的にいうと、Windowsバッチを叩きTera termマクロを実行し、Tera termマクロ内でLinuxコマンドを実行しlogopenでサーバログを取得しています。
このTera termマクロの logopen されるファイルの場所が想定外の時とそうでない時がありました。Tera termのインストールディレクトリによって、うまくいく時といかない時があるようです。

違いがあるTTTPMACRO.EXEのインストールディレクトリです。※マクロ実行時に必要なので指定
①デフォルトインストールディレクトリ
→ 想定通り Tera Termマクロ 実行ディレクトリでlogopenされる
②デスクトップ
→ 想定外 バッチを実行したディレクトリでlogopenされる

**どちらもTera Termマクロ 実行ディレクトリでlogopeされるはずでした。**理由はteratermマクロに下記のようにchangedirの記述があるからです。でも実際には①しかされませんでした。

getdir DIR changedir DIR logopen 'hoge.log' 1 1

↑②の時は、Windowsバッチ実行ディレクトリでlogopenされました。

windowsバッチからteratermマクロ呼び出しは下記です。
※ %teratermPath% は別ファイルに定義してあります。ttpmacro.exeの位置を指定しているだけです。こんな感じ

①%teratermPath% = C:\Program Files (x86)\teratermttpmacro.exe
②%teratermPath% = desktopttpmacro.exe ※Path省略してます。すみません

bat

1@echo off 2start "" "%teratermPath%" "パラメータ1" "パラメータ2" 3

差異を吸収したい理由は汎用的に使えるようにしたいからです。バッチ自体が動くことは確認できてます。teratermマクロのlogopenされる箇所がおかしいことが問題です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

違いがあるTTTPMACRO.EXEのインストールディレクトリです。※マクロ実行時に必要なので指定
①デフォルトインストールディレクトリ
→ 想定通り Tera Termマクロ 実行ディレクトリでlogopenされる
②デスクトップ
→ 想定外 バッチを実行したディレクトリでlogopenされる

この二つの Tera Term は同じ設定になっていますか?
デスクトップにインストールした Tera Term は TERATERM.INI で LogDefaultPath を設定していませんか?

logopen "test.log" 1 1 のようにファイル名のみを指定した場合は、以下の優先順位でディレクトリが使われます。

  1. TERATERM.INI の LogDefaultPath に設定されたディレクトリ
  2. changedir コマンドで指定したディレクトリ
  3. TERATERM.INI の FileDir に設定されたディレクトリ
  4. Windows のダウンロードディレクトリ
  5. Tera Term のインストールディレクトリ

Tera Term の設定にかかわらず常にマクロファイルの有るディレクトリにログを作りたい場合は、以下のようにフルパスでログファイル名を指定してください。

Tera

1getdir DIR 2makepath LOGPATH DIR "test.log" 3 4logopen LOGPATH 1 1

投稿2019/12/10 11:56

doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

madagasukal

2019/12/10 12:42 編集

回答ありがとうございます!dodaさんの方法+もう1つの手順で解決しました!! 常に同じ場所でログ出力できる方法まで教えて頂いてありがとうございます。勉強になりました。 ※もう1つの手順は自己解決に書きます
guest

0

start "" "%teratermPath%" "パラメータ1" "パラメータ2"
のとき、パラメータ1にhoge.ttlのようなマクロがあるかと思いますが、
getdir DIR
のときDIRには、hoge.ttlが格納してあるディレクトリ名が設定されます。
DIRにはttpmacro.exeが格納してあるディレクトリ名が設定されるわけではありません。

それで認識はあってますでしょうか。
もし、あっていれば無視してください。

投稿2019/12/10 09:13

tatsu99

総合スコア5493

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

madagasukal

2019/12/10 12:36

回答ありがとうございます! ご指摘の通りです。そこにはttlファイル名が入っていて、上記の質問内容に書き忘れてます…。 実際のファイルには入ってます!無駄に考えさせてしまって申し訳ございません。
guest

0

本件は回答して頂いたdodaさんの方法+もうひと手順で解決しました。

もう一つの手順はtera termのバージョンを上げました。
バージョン4.79 と4.102 では、Windowsバッチからテラタームマクロに渡される引数の挙動が違いました。
具体的には4.79の方だとバッチから渡される引数が一部欠損した状態でテラタームマクロに渡されます。

Windowsバッチからテラタームマクロに確かに渡したはずの引数が疑わしい場合は実績のある4.102以降をお使いください。

投稿2019/12/10 12:51

madagasukal

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問