filesearch

【Tera Term マクロ言語】コマンドリファレンス

filesearch 機能

[ファイル操作コマンド]

ファイルまたはフォルダがあるか確かめます。

コマンドライン

filesearch <file name>

機能説明

ファイルまたはフォルダ が存在するかどうか調べます。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<file name>文字列ファイルもしくはフォルダのパスを指定します。

対象バージョン

全てのバージョンで利用可能です。

戻り値

戻り値として以下の変数が定義されます。
変数名意味
result0ファイルまたはフォルダが存在しなかった
1ファイルまたはフォルダが存在する

関連コマンド

種別:ファイル操作Ver機能の簡易説明
foldersearch4.69以降フォルダがあるか確かめる。

使用方法

使用例

・ファイルの有無を確認する場合
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

サンプル

以下のサンプルが存在します。

備考

特にありません。