マクロの起動の仕方
TeraTerm が起動している場合
- メニューから Control → Macro でマクロファイル (.ttl) を選択
TeraTerm を起動してマクロを実行する場合
C:\> ttermpro.exe /M=sample.ttl
TeraTerm を起動せずにマクロを実行する場合
C:\> ttpmacro.exe sample.ttl
マクロの実行中止ダイアログを表示しないようにするには、/V
オプションをつけます。
ttpmacro.exe でマクロを実行した場合、マクロ中で connect
コマンドを実行したときに TeraTerm が表示されます。
文字列を表示する (dispstr)
dispstr
を使えば、TeraTerm アプリケーションの機能として文字列を表示できます。
マクロの実行経過などを表示したい場合などは dispstr
を使うのがよいでしょう。
dispstr 'Hello World'#$0A
末尾の #$0A
は改行コード (LF) を表しています。
間違えやすいものに sendln
がありますが、これは接続先の端末に対してコマンドを送るものです。
以下のように echo
コマンドを送信した場合は、リモートの端末上で echo
コマンドが実行されることになります。
sendln 'echo Hello World'
メッセージボックスを表示する (messagebox)
messagebox "Hello TTL!" "It's cool"
ビープ音を出す (beep)
ビープ音を出すコマンドの書式は以下の通りです。
beep [<sound type>]
以下のマクロでは、sound type を変えて 1 秒おきにビープ音を鳴らします。 Windows 7 の標準設定では、sound type = 4 の音は鳴りませんでした。
dispstr 'A simple beep'#$0A
beep 0
pause 1
dispstr 'Windows Asterisk sound'#$0A
beep 1
pause 1
dispstr 'Windows Exclamation sound'#$0A
beep 2
pause 1
dispstr 'Windows Critical Stop sound'#$0A
beep 3
pause 1
dispstr 'Windows Question sound'#$0A
beep 4
pause 1
dispstr 'Windows Default Beep sound'#$0A
beep 5
pause 1
特定の文字列が出現するまで待機する (waitln)
waitln
を使用すると、ターミナル上に特定の文字列が表示されるまで、マクロの実行がそこで待機されます。
waitln 'Hoge'
複数の文字列を指定することもできます。 例えば、以下のようにすると、いずれかの文字列が出現するまで待機します。
waitln 'Hoge1', 'Hoge2', 'Hoge3'
timeout
変数に秒数を代入すると、waitln
のタイムアウト時間(最大待ち時間)を設定することができます。
0 秒以下を指定すると、waitln
は指定された文字列が登場するまで永遠に待ち続けます。
; Timeout never occurs
timeout = 0
waitln 'Hoge'
指定した秒数だけ待機する (pause)
; Pause for 3 seconds.
pause 3
サブルーチンの定義&呼び出し
call SubRoutineName
end
:SubRoutineName
messagebox 'Yah Yah Yah!' ''
return