質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.47%
Tera Term

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

Q&A

解決済

2回答

5496閲覧

TeraTermマクロでのCSVファイルの読込について

退会済みユーザー

退会済みユーザー

総合スコア0

Tera Term

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

0グッド

0クリップ

投稿2021/10/28 00:11

TeraTermマクロ初心者です。

以下のマクロを組んでいます。ホストへSSH接続しsendlnで
backupを取得するコマンドを実行しています。

;======================================================
; 接続情報
HOSTADDR = '192.168.1.1'
USERNAME = 'admin'
PASSWORD = 'Password'
;======================================================

; コマンドオプション組立て
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORD

; 接続
connect COMMAND
;======================================================

;接続後処理
wait "#"
sendln "execute backup config ftp backup.conf 192.168.1.1:21 test Password"
sendln "exit"

実現したい事
接続情報の情報と接続後処理でコマンドで実行している以下の部分をCSVファイルに記載、読み込んでパラメータ化したいと考えています。(機器によって値が変わる為)
■ backup.conf
■ 192.168.1.1:21
■ test
■ Password

どのように組めばよいのかご教授頂けないでしょうか?

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

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

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

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

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

otn

2021/10/28 02:11

プログラミング経験ゼロですか?それとも他の言語なら経験ありますか?
退会済みユーザー

退会済みユーザー

2021/10/28 02:33

返信ありがとうございます。いえ、プログラミング経験自体ゼロです。
guest

回答2

0

ベストアンサー

以下のマクロの組み方で無事、自己解決しました。
csvfile = 'connect.csv'
csvfile2 = 'databackup.csv'
separator = ','

; 読み取り専用でCSVファイルを開く

fileopen fh csvfile2 0

while 1
filereadln fh buf2
if result then
break
endif

strsplit buf2 separator file = groupmatchstr1 ip2 = groupmatchstr2 id = groupmatchstr3 passwd2 = groupmatchstr4 sprintf2 buf2 '%s %s %s %s' file ip2 id passwd2

fileclose fh

fileopen fh csvfile 0

while 1
filereadln fh buf
if result then
break
endif

strsplit buf separator ip = groupmatchstr1 user = groupmatchstr2 passwd = groupmatchstr3 sprintf2 buf '%s /ssh /auth=password /user=%s /passwd=%s' ip user passwd connect buf

;接続後処理
wait '#'
sendln 'config global'
sendln 'execute backup config ftp ' buf2
sendln 'exit'

投稿2021/11/02 08:02

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

TeraTermのヘルプに、「MACROヘルプ」→「TTLコマンドリファレンス」にファイル操作コマンドなどありますので、具体的にやりたいことをまずは実践してみましょう。
strconcat関数を使用できているので同様にできると思いますよ。

投稿2021/10/28 05:19

yukky1201

総合スコア2751

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

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

退会済みユーザー

退会済みユーザー

2021/11/01 07:56

お返事遅くなってすいません。 strconcat関数を使ってコマンドを組み立てていくというのはわかってるのですが、execute backup config ftp以下の部分だけをCSVから取り込む方法で悩んでいます。もう少し考えてみます。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問