FileGetSize


返回文件的大小。

FileGetSize, OutputVar [, Filename, Units]

参数

OutputVar 存储返回值(该文件的大小)的变量名(其结果进行四舍五入)。
Filename 目标文件的文件名,如果绝对路径没有指定的话假定在 %A_WorkingDir%(工作目录) 中。如果忽略不写,当前 File-Loop中 最深处的文件将被替代使用。
Units

如果这个参数出现,那么它将使得最终返回的结果遵循以下的方案(否则将以字节的形式显示):
K = 千字节
M = 兆字节

ErrorLevel

如果有问题的话 ErrorLevel 被设置为1,否则设置为0。

注意

支持大于4G字节的文件(甚至就算参数Units是字节也可以)。

如果目标文件是一个目录的话,不论操作系统把它当作什么(可能是0)都会返回它的大小。

如果要计算文件夹的大小,像下面这个例子一样计算里面所有的文件:

SetBatchLines, -1  ; 使得操作以最大的速度运行。
FolderSize = 0
FileSelectFolder, WhichFolder  ; 让用户选择一个目录。
Loop, %WhichFolder%\*.*, , 1
    FolderSize += %A_LoopFileSize%
MsgBox Size of %WhichFolder% is %FolderSize% bytes.

相关命令

FileGetAttrib, FileSetAttrib, FileGetTime, FileSetTime, FileGetVersion, File-loop

示例

FileGetSize, size, C:\My Documents\test.doc  ; 以字节的形式返回Test.doc文件的大小
FileGetSize, size, C:\My Documents\test.doc, K  ; 以千字节的形式返回Test.doc文件的大小

翻译:hsudatalks