2017年01月28日
久々にTeratermのマクロを作成。 コマンドファイルを読み込んで順次実行するやつです。ちゃんと動きますよ。
以下、作ってみたプログラム
;======================================================
;teratermマクロ
;コマンドファイルを読み込み順次実行するマクロです。
;
;コマンドファイル順次実行時、プロンプト出力を待ってから
;次のコマンドを実行するか、 指定時間ポーズするかを選択できます。
;コマンドファイル実行前に、デフォルトで最初に実行したい
;コマンドも記載可能
;ログを自動で取得します。
;======================================================
;-----------------------------------------------------------
;初期設定
;-----------------------------------------------------------
;ログ自動保存
;ログ保存先
LOGSPATH = 'C:\test\log\'
;ログファイル名
getdate LOG_NAME 'teraterm(&h)_%Y%m%d_%H%M%S.log'
FULLPATH = LOGSPATH
strconcat FULLPATH LOG_NAME
;ログ取得開始
logopen FULLPATH 1 1
;タイトル設定
settitle 'コマンドファイルの順次実行マクロ'
;コマンドファイル
cmdfile = 'C:\test\loadcmd.txt'
;コマンドファイル順次実行時、プロンプト出力を待つか(1)
;指定時間ポーズするか(1以外)、どちらかを設定
wait_prompt_f = 0
;プロンプト
wait_prompt = '123'
;ポーズタイム(s)
pause_time = 1
;-----------------------------------------------------------
;デフォルトで最初に実行したいコマンド
;-----------------------------------------------------------
default_input = 1 ;無ければ0にする
if default_input = 1 then
sendln 'date'
sendln 'whoami'
sendln 'hostname'
sendln 'pwd'
endif
;-----------------------------------------------------------
;コマンドファイルの順次実行
;-----------------------------------------------------------
;ファイルオープン
fileopen fh cmdfile 0
;ファイル内の実行行数
count = 1
while 1
;コマンドファイルから1行読み込み
filereadln fh buf
;読み込めない時はループを抜ける
if result goto breakloop
;ファイル内の実行行数表示
int2str count_str count ;数値を文字に変換
sendln '### ' count_str ' 行目を実行します ###'
;コマンド実行
sendln buf
if wait_prompt_f = 1 then
;プロンプト出力を待つ
wait wait_prompt
else
;指定時間ポーズする
pause pause_time
endif
count = count + 1
endwhile
:breakloop
;ファイルクローズ
fileclose fh
sendln '#マクロ正常終了
;---END---
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/5872673
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック