<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script> </head> <body> <h1>DirCopy</h1> <p>复制文件夹, 及其所有子文件夹和文件(类似于 xcopy).</p> <pre class="Syntax"><span class="func">DirCopy</span> Source, Dest <span class="optional">, Overwrite</span></pre> <h2 id="Parameters">参数</h2> <dl> <dt>Source</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a></p> <p>源目录的名称(不含末尾的反斜杠), 如果未指定绝对路径, 则假定在 <a href="../Variables.htm#WorkingDir">A_WorkingDir</a> 中. 例如: C:\My Folder</p> </dd> <dt>Dest</dt> <dd> <p>类型: <a href="../Concepts.htm#strings">字符串</a></p> <p>目标目录的名称(不含末尾的反斜杠), 如果未指定绝对路径, 则假定在 <a href="../Variables.htm#WorkingDir">A_WorkingDir</a> 中. 例如: C:\Copy of My Folder</p> </dd> <dt>Overwrite</dt> <dd> <p>类型: <a href="../Concepts.htm#boolean">整数(布尔值)</a></p> <p>此参数决定是否覆盖已存在的文件. 如果省略, 它默认为 0(false). 指定下列值之一:</p> <p><strong>0</strong>(false): 不覆盖现有的文件. 如果已经存在以 <em>Dest</em> 为名称的文件或目录, 则操作会失败并且没有任何效果.</p> <p><strong>1</strong>(true): 覆盖现在的文件. 但是, 不会删除在 <em>Dest</em> 中没有被 <em>Source</em> 目录中文件覆盖的其他子目录或文件.</p> </dd> </dl> <h2 id="Error_Handling">错误处理</h2> <p>如果发生错误, 则抛出异常.</p> <p>但是, 如果源目录包含任何由 <em>PageName.htm</em> 的文件和相应的名称为 <em>PageName_files</em> 的目录组成的保存的网页, 那么即使复制成功也可能抛出异常.</p> <h2 id="Remarks">备注</h2> <p>如果目标目录的结构不存在, 则可行时会进行创建.</p> <p>由于该操作将以递归方式复制文件夹及其所有子文件夹和文件, 因此将文件夹复制到自身内部某个位置的结果是不确定的. 要解决此问题, 请先将其复制到自身外部, 然后使用 <a href="DirMove.htm">DirMove</a> 将其复制移动到所需位置.</p> <p>DirCopy 只复制单个文件夹. 若要复制文件夹中的内容(它的所有文件和子文件夹, 而不复制文件夹本身), 请参阅 <a href="FileCopy.htm">FileCopy</a> 的示例部分.</p> <h2 id="Related">相关</h2> <p><a href="DirMove.htm">DirMove</a>, <a href="FileCopy.htm">FileCopy</a>, <a href="FileMove.htm">FileMove</a>, <a href="FileDelete.htm">FileDelete</a>, <a href="LoopFiles.htm">file-loops</a>, <a href="DirSelect.htm">DirSelect</a>, <a href="SplitPath.htm">SplitPath</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 复制目录到新位置.</p> <pre>DirCopy "C:\My Folder", "C:\Copy of My Folder"</pre> </div> <div class="ex" id="ExDirSelect"> <p><a class="ex_number" href="#ExDirSelect"></a> 提示你复制文件夹.</p> <pre>SourceFolder := DirSelect(, 3, "Select the folder to copy") if SourceFolder = "" return <em>; 否则继续.</em> TargetFolder := DirSelect(, 3, "Select the folder IN WHICH to create the duplicate folder.") if TargetFolder = "" return <em>; 否则继续.</em> Result := MsgBox("A copy of the folder '" SourceFolder "' will be put into '" TargetFolder "'. Continue?",, 4) if Result = "No" return SplitPath SourceFolder, &amp;SourceFolderName <em>; 仅从它的完整路径中提取文件夹名称.</em> try DirCopy SourceFolder, TargetFolder "\" SourceFolderName catch MsgBox "The folder could not be copied, perhaps because a folder of that name already exists in '" TargetFolder "'." return</pre> </div> </body> </html>