filestrseek2

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

filestrseek2 機能

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

文字列をファイルの末尾から先頭へ向かって検索します。

コマンドライン

filestrseek2 <file handle> <string>

機能説明

ファイルハンドル <file handle> で指定されるファイルから、文字列 <string> を検索します。

検索は現在のファイルポインタの位置から開始します。
検索はファイルの先頭の方に向かって行われます。

逆方向の検索には filestrseek コマンドを使用してください。
<file handle>
ファイルハンドル <file handle> で対象としたいファイルを指定します。
<string>
対象ファイルから検索したい文字列を指定します。

<string> が見つかった場合、ファイルポインタは <string> の直前の文字の位置になり、システム変数 <result> に 1 が格納されます。
ただし、ファイルの1バイト目だった場合は、ファイルポインタはゼロオフセットとなります。

<string> が見つからなかった場合、ファイルポインタは移動せず、システム変数 result に 0 が格納されます。
このコマンドを実行します前にすでにファイルポインタが 0 の場合、result に 0 が格納されます。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<file handle>整数ファイルハンドルを指定します。
<string>文字列検索文字列を指定します。

対象バージョン

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

戻り値

戻り値として以下の変数が定義されます。
変数名意味
result0<string> が見つからなかった
1<string> が見つかった

関連コマンド

種別:ファイル操作Ver機能の簡易説明
filestrseek文字列をファイルの先頭から末尾に向かって検索する。

使用方法

使用例

・検索文字列の直前の文字からその行の終わりまでを読み込む場合
; ファイル "teraterm.log" をオープン、ファイルポインタはファイルの最後
fileopen fhandle 'teraterm.log' 1

:next
; 文字列 "abc" を後方検索
filestrseek2 fhandle 'abc'
if result=0 goto not_found
; ポインタを保存
filemarkptr fhandle
; "abc" の直前の文字からその行の終わりまでを読み込む
filereadln fhandle str
; ポインタを戻す
fileseekback fhanlde
; 次を検索
goto next

:not_found
fileclose fhandle

サンプル

サンプルマクロはありません。

備考

特にありません。