FileGetSize

Retrieves the size of a file.

Size := FileGetSize(Filename, Units)

Parameters

Filename

Type: String

If omitted, the current file of the innermost enclosing file loop will be used. Otherwise, specify the name of the target file, which is assumed to be in A_WorkingDir if an absolute path isn't specified.

Units

Type: String

If blank or omitted, it defaults to B. Otherwise, specify one of the following letters to cause the result to be returned in specific units:

Return Value

Type: Integer

This function returns the size of the specified file (rounded down to the nearest whole number).

Error Handling

An OSError is thrown on failure.

A_LastError is set to the result of the operating system's GetLastError() function.

Remarks

Files of any size are supported, even those over 4 gigabytes, and even if Units is bytes.

If the target file is a directory, the size will be reported as whatever the OS believes it to be (probably zero in all cases).

To calculate the size of folder, including all its files, follow this example:

FolderSize := 0
WhichFolder := DirSelect()  ; Ask the user to pick a folder.
Loop Files, WhichFolder "\*.*", "R"
    FolderSize += A_LoopFileSize
MsgBox "Size of " WhichFolder " is " FolderSize " bytes."

FileGetAttrib, FileSetAttrib, FileGetTime, FileSetTime, FileGetVersion, file loop

Examples

Retrieves the size in bytes and stores it in Size.

Size := FileGetSize("C:\My Documents\test.doc")

Retrieves the size in kilobytes and stores it in Size.

Size := FileGetSize("C:\My Documents\test.doc", "K")