Changes the size of a file. (version 4.67 or later)

filetruncate <filename> <size>


Changes the <size> bytes of a <filename> file.
Null characters('\0') are appended if the file is extended.

The system variable "result" value is set to 0 if the file size is successfully changed. The system variable "result" value of -1 indicates an error.


; Changes 32 bytes of a file.
filetruncate 'test.exe' 32
if result = -1 then
	messagebox 'file truncate error' 'filetruncate'
	messagebox 'file truncate success' 'filetruncate'
; Makes 8M bytes of a file containing all zero data.
size = 8*1024*1024
filetruncate 'bigfile.bin' size
; Opens a log file at the macro file directory.
getdir dir
sprintf2 filename '%s\test.log' dir
logopen filename 0 0
; Limitation of a file size
maxsize = 512
counter = 0

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
if counter > 32 goto skip
goto loop