</head> <body> <h1>FileGetSize</h1> <p>获取文件的大小.</p> <pre class="Syntax"><span class="func">FileGetSize</span>, OutputVar <span class="optional">, Filename, Units</span></pre> <h2 id="Parameters">参数</h2> <dl> <dt>OutputVar</dt> <dd><p>用来保存获取的文件大小的输出变量的名称(文件大小向下取整到最近的整数).</p></dd> <dt>Filename</dt> <dd><p>如果省略, 则使用最内层<a href="LoopFile.htm">文件循环</a>的当前文件. 否则, 请指定目标文件的名称, 如果未指定绝对路径, 则假定在 <a href="../Variables.htm#WorkingDir">%A_WorkingDir%</a> 中. </p></dd> <dt>Units</dt> <dd><p>如果为空或省略, 则默认为 B. 否则, 请指定以下字母之一, 将导致以特定单位返回结果:</p> <ul> <li>B = 字节</li> <li>K = 千字节</li> <li>M = 兆字节</li> </ul> </dd> </dl> <h2 id="Error_Handling">错误处理</h2> <p><span class="ver">[v1.1.04+]</span>: 此命令失败时会抛出异常. 想了解更多信息, 请参阅<a href="Catch.htm#RuntimeErrors">运行时错误</a>.</p> <p>如果遇到问题则 <a href="../misc/ErrorLevel.htm">ErrorLevel</a> 被置为 1, 否则为 0.</p> <p><a href="../Variables.htm#LastError">A_LastError</a> 被设置为操作系统 GetLastError() 函数返回的结果.</p> <h2 id="Remarks">备注</h2> <p>支持任意大小的文件(包括超过 4 GB 的文件), 对任意大小的文件都支持 <em>Units</em> 为字节.</p> <p>如果目标文件为目录, 则报告操作系统看到的它的大小(在所有情况中可能都是零).</p> <p>要计算文件夹及其所有文件的大小, 请参照此例:</p> <pre>SetBatchLines, -1 <em>; 让操作以最快速度运行.</em> FolderSize := 0 FileSelectFolder, WhichFolder <em>; 提示用户选择文件夹.</em> Loop, %WhichFolder%\*.*, , 1 FolderSize += A_LoopFileSize MsgBox Size of %WhichFolder% is %FolderSize% bytes.</pre> <h2 id="Related">相关</h2> <p><a href="FileGetAttrib.htm">FileGetAttrib</a>, <a href="FileSetAttrib.htm">FileSetAttrib</a>, <a href="FileGetTime.htm">FileGetTime</a>, <a href="FileSetTime.htm">FileSetTime</a>, <a href="FileGetVersion.htm">FileGetVersion</a>, <a href="LoopFile.htm">文件循环</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 读取以字节为单位的大小, 并将其存储在 <var>OutputVar</var>.</p> <pre>FileGetSize, OutputVar, C:\My Documents\test.doc</pre> </div> <div class="ex" id="ExKB"> <p><a class="ex_number" href="#ExKB"></a> 读取以千字节为单位的大小, 并将其存储在 <var>OutputVar</var>.</p> <pre>FileGetSize, OutputVar, C:\My Documents\test.doc, K</pre> </div> </body> </html>