filetruncate

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

filetruncate 機能

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

ファイルのサイズを変更します。

コマンドライン

filetruncate <file name> <size>

機能説明

ファイル <file name> をサイズ <size> バイトの大きさに変更します。
指定したサイズが、既存より小さい場合、ファイル末尾を切り詰めます。
指定したサイズが、既存より大きい場合、ヌル文字 ('\0') を追加します。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<file name>文字列ファイル名を指定します。
<size>整数変更サイズを指定します。

対象バージョン

バージョン 4.67 以降で利用可能です。
バージョン 4.104 より修正された機能があります。

戻り値

戻り値として以下の変数が定義されます。
変数名意味
result-1サイズ変更に失敗した
0サイズ変更に成功した
バージョン 4.104 より、ファルが開けない場合・ファイルサイズの変更に失敗した場合でもエラーにならなくなりました。

関連コマンド

関連コマンドはありません。

使用方法

使用例

・ファイルを32バイトに切り詰める場合
; ファイルを32バイトに切り詰める
filetruncate 'test.exe' 32
if result = -1 then
	messagebox 'file truncate error' 'filetruncate'
else
	messagebox 'file truncate success' 'filetruncate'
endif

・ファイルを30バイトに切り詰める場合

切り詰める前のファイル sample.txt
あいうえお
かきくけこ
さしすせそ
たちつてと
なにぬねの
はひふへほ
30バイトに切り詰めるマクロの実行
targetfile = 'sample.txt'
filetruncate targetfile 30
切り詰めた後のファイル sample.txt
あいうえお
かきくけこ
さしす

・8MBの空ファイルを作る場合
; 8MBの空ファイルを作る
size = 8*1024*1024
filetruncate 'bigfile.bin' size

・マクロがある場所にログファイルを作る場合
; マクロがある場所にログファイルを作る
getdir dir
sprintf2 filename '%s\test.log' dir
logopen filename 0 0
; ファイルの上限サイズ
maxsize = 512
counter = 0

:loop
counter = counter + 1
sprintf2 line 'counter = %d' counter
logwrite line
logwrite #13#10
filetruncate filename maxsize
if result = -1 then
	messagebox 'file truncate error' 'filetruncate'
	goto skip
endif
if counter > 32 goto skip
goto loop

:skip
logclose

サンプル

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

備考

特にありません。