
Teratermを使って仕事をしようとしています。
概要は、シリアルポートにATコマンドを送って、そのレスポンスをチェックというだけのものですが、
いかんせん、多数の対象製品があります。仕事の正確性、迅速性から、自動化したいと考えています。
(1)シリアルポートの接続
(2)ログファイルのオープン
(3)ログファイルに時刻の記録
(4)ATコマンドの送出
(5)ログファイルに区切りの線を入れる
(6)ログファイルのクローズ
(7)シリアルポートのクローズ
DOSプロンプトにて、
ttpmacro.exe test.ttl
を入力して、作業を進めたいと考えます。
ここに、test.ttl は、Teratermと同じフォルダにおきます。
test.ttl-------------------
connect '/c=4'
pause 1
logopen "teraterm.log" 1 1
pause 1
gettime datetime '-%Y%m%d-%H%M%S'
?????
sendln "AT+xxxxx"
pause 1
sendln "AT+YYYY"
pause 1
logwrite "-----------"#13#10
logclose
disconnect
pause
-------------------------
サジェスチョンをいただきたいのは;
1.時刻(datetime )を如何にすれば、ログに残すことができるのか?
2.pauseは、sendlnの後には、確実に必要ですが、他の部分は、まだ、チェックしていません。
絶対に不要と言う箇所をサジェスチョン願います。
3.マクロの終了後、Teratermのウィンドウが残ったままになってしまいます。
2回上記(ttpmacro.exe test.ttl)を実行させると、2つのTeratermウィンドウが残ってしまいます。
マクロ終了後、如何にして、ウィンドウをクローズさせることができますか?
4.その他、期待しないコード等が、ログに残されてしまいます。
送出したコマンド、受け取ったレスポンス以外をログに残さないことは可能でしょうか?
以上、宜しくお願いいたします。

No.1ベストアンサー
- 回答日時:
部分だけ。
>3.マクロの終了後、Teratermのウィンドウが残ったままになってしまいます。
> (途中省略)
> マクロ終了後、如何にして、ウィンドウをクローズさせることができますか?
DOS コマンドのバッチファイルを作っておき、
「ttpmacro.exe test.ttl」
でなくバッチファイルを実行させます。
バッチファイルの内容は
1行目 ttpmacro.exe test.ttl
2行目 exit
としておきます。
>1.時刻(datetime )を如何にすれば、ログに残すことができるのか?
teraterm のファイルオープンが、「既存ファイルへの追記が可能」なら、ですが
dos コマンドの初めの方で date コマンドと time コマンドを実行させログファイルにリダイレクトすればいいです。
つまり前出のバッチファイルの最初の方に
・date /t > logfile
・time /t >> logfile
のように書いておきます。
(「>」 1個は 新規(既存なら上書)オープン、2個は追記オープンです)
>2.pauseは、sendlnの後には、確実に必要ですが、
pause って、指定が秒単位で、数が多いとやたら待たされたんでしたっけか。
ATコマンド実行完了を示す応答は何もなしということですか?
うろ覚えですが、プロンプトか「AT」に対して「ok」で応えるとかあったような気がしますが。
もしレスポンス設定が可能ならこれを行い、これを待つようにマクロを書けばいいと思います。
この回答への補足
ありがとうございます。
参考にさせていただき、何とか解決しました。
マクロの終了後、Teratermのウィンドウ云々
TTLのマクロにて、closettを最後につけました。
これにより、Teratermのみならず、DOSのウィンドウ両方を消すことができました。
また、Teratermの中での時刻の書き出しは、
logwrite mytime で、できました。
(複数の言葉は、予め、strconcatでつなぎ合わせることが必要でした)
(バッチレベルでの時刻と、TTLマクロでの時刻に相当の開きがあるため、
やはり、TTLマクロで時刻は吐き出すようにしました)
ATコマンドの件は、今だ、問題です。
ログファイルがオープンの時、定期的にやり取りしているらしい情報まで、
すべて残ってしまい、見づらいのですが、これは、諦めました。
(もともと、ログですから、仕方がないです)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- その他(プログラミング・Web制作) ZWCAD CUIXとLISPの関係について 1 2022/09/28 03:07
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- JavaScript [再掲]指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードについて 1 2023/05/10 15:09
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
コマンドプロンプトで表示が多...
-
VBA でshell関数を使ってコマン...
-
ttlで戻り値を取得する方法
-
Tera Term Proに関する質問です。
-
バッチファイルでキー操作を行う。
-
別のユーザーフォームのコマン...
-
VBでDosコマンドを動かすには
-
コンボボックス(最終行取得)
-
DOSコマンドでポートから受信
-
カーネルモジュール
-
"伴われる"は正しい日本語ですか?
-
コマンドプロンプトですべてのU...
-
vbaで座標を指定してコマンドプ...
-
c言語を勉強し始めたばかりの...
-
シリアル通信でコマンドを送信...
-
PowerShellにおけるコマンドの...
-
CreateProcessでの実行ファイル...
-
IBMメインフレームの勉強法
-
HEXから元に戻すには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトが実行中か...
-
ttlで戻り値を取得する方法
-
コマンドプロンプトで表示が多...
-
バッチファイルでキー操作を行う。
-
Tera Term Proに関する質問です。
-
別のユーザーフォームのコマン...
-
VBユーザーフォームで時間入力
-
コマンドプロンプトですべてのU...
-
コンボボックス(最終行取得)
-
【Teratermマクロ】文字列の一...
-
ルーターにつながっている全て...
-
RTX1100の削除コマンド
-
EEPROMのデータの初期化について
-
PowerShell実行結果をデスクト...
-
system関数でのシェル起動について
-
DOSコマンドでポートから受信
-
VBA でshell関数を使ってコマン...
-
C#でローカルユーザーやグルー...
-
パワーシェル 画面解像度 変更
-
文字の点滅はどうやるのですか?
おすすめ情報