2015年2月28日に公開されたTeraTerm 4.86で追加されたTTLコマンドのひとつに、今回紹介する「dirnamebox」が追加されました。
どのような場面で利用するか
ディレクトリ設定する場面といえば、ファイルを開くもしくは保存するためのディレクトリを指定する場合が主だと思います。
たとえばマクロ内でディレクトリが指定されていない場合、ファイルを開いたり保存する処理に失敗した際にユーザーへディレクトリを指定するように促すようにすると、よりユーザーフレンドリーなマクロを書くことができるかと思います。
dirnameboxの使い方
dirnameboxは次のように使います。
dirnamebox <title> [<initialdir>]
「initialdir」はオプションで、初期ディレクトリを指定できます。初期ディレクトリを指定しなかったり、無効なディレクトリを指定すると、デスクトップが初期ディレクトリとして設定されます。
サンプルマクロ
例として、ログファイルを開けなかった場合にユーザーへディレクトリを指定するように促すマクロを掲載します。
ログを開く際に失敗する原因としてよくあるのが、ディレクトリが存在しないか不正なファイル名によるものです。
; 存在しないディレクトリ logdir = 'x:abc' logfile = 'log.txt' ; ログファイルへのフルパスを設定する makepath path2logfile logdir logfile connect '/C=1' ; ログファイルを開く logopen path2logfile 1 1 ; 失敗するとresultに1が格納される if result == 1 then dirnamebox 'ログを保存するディレクトリを指定してください' '' if result == -1 then end endif makepath path2logfile inputstr logfile logopen path2logfile 1 1 endif