【Tera Term マクロ言語】コマンドリファレンス
[ファイル操作コマンド]
ファイルまたはフォルダがあるか確かめます。
filesearch <file name>
ファイルまたはフォルダ が存在するかどうか調べます。
指定するパラメータは以下の通りです。
パラメータ | 型 | パラメータ説明 |
<file name> | 文字列 | ファイルもしくはフォルダのパスを指定します。 |
全てのバージョンで利用可能です。
戻り値として以下の変数が定義されます。
変数名 | 値 | 意味 |
result | 0 | ファイルまたはフォルダが存在しなかった |
1 | ファイルまたはフォルダが存在する |
・ファイルの有無を確認する場合
filesearch 'readme.txt'
if result=0 messagebox 'File not found.' 'error'
・変数 targetname 内の文字列がファイルかフォルダかを判定するサブルーチン
;;; 変数設定 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 必須となる変数の設定
targetname = 'dummy.txt'
;;; メイン処理 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; サブルーチンのコール
call chkfile
; 結果の表示
messagebox result 'result'
; 対象が存在しない場合にのみファイル作成
if result = 0 then
getdate YYYYMMDD_hhmmss "%Y/%m/%d %H:%M:%S"
fileopen fhandle targetname 0
sprintf2 msg "%s ファイル %s を作成しました。" YYYYMMDD_hhmmss targetname
filewrite fhandle msg
fileclose fhandle
endif
;;; 終了処理 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; マクロの終了
end
;;; サブルーチン ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
:chkfile
; 変数 targetname 内の文字列がファイルかフォルダかを判定するサブルーチン
; result
; 0 = 対象は存在しなかった。
; 1 = 対象はフォルダだった。
; 2 = 対象はファイルだった。
filesearch targetname
if result = 1 then
; 対象が存在する場合
; フォルダであるか確認する
foldersearch targetname
if result = 1 then
; フォルダの場合 (存在する対象がフォルダである)
result = 1
else
; ファイルの場合 (存在するがフォルダではない)
result = 2
endif
else
; 対象が存在しない場合
result = 0
endif
return
以下のサンプルが存在します。