fileread

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

fileread 機能

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

ファイルを読みます。

コマンドライン

fileread <file handle> <read byte> <strvar>

機能説明

開いているファイル <file handle> から、<read byte> で指定したバイト数のデータを読みこんで <strvar> に格納します。
<file handle>
fileopen でファイルハンドルを取得しているファイルを <file handle> にて指定します。
<read byte>
読み込むバイト数を指定します。
値の範囲は 1 から 511 でなければなりません。

ファイルポインタは読み込んだバイト数分進められます。
データを読み込み終わる前にファイルポインタがファイルの終わりまで行った場合は、システム変数 <result> に 1 が格納されます。
それ以外は、<result> に 0 が格納されます。
<strvar>
読みこんだデータを <strvar> に格納します。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<file handle>整数ファイルハンドルを指定します。
<read byte>整数1~511 byte を指定します。
<strvar>文字列変数名を指定します。

続きを読む

filereadln

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

filereadln 機能

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

ファイルから一行読みます。

コマンドライン

filereadln <file handle> <strvar>

機能説明

開いているファイル *1 から、ファイルポインタのある行を1行読み込みます。
読み込み完了時、ファイルポインタを次の行へ移動しておきます。

Tera Term バージョン 4.102 より、マクロファイルのエンコーディングとして UTF-8 および UTF-16 (いずれも BOM の有無はチェック) に対応しているものの、filereadln はどちらにも未対応のため、対象ファイルが UTF-8 または UTF-16 の場合に文字化けします。
※ Tera Term バージョン 4.103 にて確認。

なお、文字化けすると記載しましたが、SJIS でも UTF-8 でも ASCII 部分は同一です。そのため、UTF-8 のファイルであっても、英数字部分は問題なく読み込むことが可能です。
<file handle>
ファイルハンドル <file handle> で指定されるファイルから一行読みます。
この時の対象となる行(読む行)は、ファイルポインタで指示された行です。
<strvar>
読み込んだ行は、文字列変数 <strvar> に格納します。
ファイルポインタは次の行の始めへ移動します。

もし、行を読んでいる間にファイルポインタがファイルの最後に達した場合、システム変数 <result> に 1 が格納されます。
それ以外の場合、<result> に 0 が格納されます。

改行のみの場合は、文字列変数は空となり、<result> には 0 が格納されます。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<file handle>整数ファイルハンドルを指定します。
<strvar>文字列読み込んだ行を格納する変数名を指定します。

続きを読む

fileopen

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

fileopen 機能

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

ファイルを開きます。

コマンドライン

fileopen <file handle> <file name> <append flag> [<readonly flag>]

機能説明

ファイルをバイナリモードでオープンします。
ファイルが存在しない場合は、新たに作成してからオープンします。

なお、バージョン 4.102 および 4.103 では、ファイルが開けなかった場合にエラー終了します。
<file handle>
他のファイルハンドルを利用するコマンドに渡せるファイルハンドルを指定します。

閉じないままファイルを開くごとに、別のファイルハンドルを指定する必要があります。
<file name>
ファイルハンドルで利用するファイル名を指定します。
<append flag>
<append flag> に指定する数値は、以下の通りです。
<append flag>数値の意味
0ファイルポインタ (読み書きの現在位置) が、ファイルの始めにセットされます。
0以外ファイルポインタが、ファイルの最後にセットされます。
[<readonly flag>]
バージョン 4.85 以降、[<readonly flag>] の指定内容は、以下の通りです。
[<readonly flag>]数値の意味
省略読み書きモードでファイルを開きます。
0読み書きモードでファイルを開きます。
0以外読み取り専用モードでファイルを開きます。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<file handle>整数ファイルハンドル名を指定します。
<file name>文字列オープンするファイル名を指定します。
<append flag>整数ファイルポインタの位置を意味する整数を指定します。
<readonly flag>整数読み書きモード/読み取り専用モードを指定します。

続きを読む

filemarkptr

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

filemarkptr 機能

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

ファイルポインタ (読み書きの現在位置) を保存します。

コマンドライン

filemarkptr <file handle>

機能説明

<file handle> で指定されるファイル(オープンされている必要あり)の現在のファイルポインタを保存します。
保存されたファイルポインタは "fileseekback" によって呼び戻すことができます。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<file handle>整数オープンされているファイルハンドルを指定します。

続きを読む

filelock

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

filelock 機能

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

開いているファイルをロックします。

コマンドライン

filelock <file handle> [<timeout>]

機能説明

すでに開いているファイルハンドル <file handle> を指定すると、ファイル全体をロックします。
ロック中、他のプロセスからの当該ファイルへのアクセスはエラーとなります。
[<timeout>]
引数 <timeout> については下記のとおりです。
<timeout>説明
省略ファイルがすでにロックされていたら、解除されるまで無限に待ちます。
0ファイルがすでにロックされていたら、即座にエラーを返します。
1 以上ファイルがすでにロックされていたら、解除されるまで指定した秒数を待ちます。
タイムアウトしたらエラーを返します。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<file handle>整数開いているファイルのファイルハンドル名を指定します。
<timeout>整数待機する秒数を指定します。

続きを読む