移动一个文件夹连同它的所有文件和子文件夹。也能重命名一个文件夹。
FileMoveDir, Source, Dest [, Flag]
Source | 源目录的名称(末尾不带反斜线),如果绝对路径未指定将被假设在 %A_WorkingDir% 。例如:C:\My Folder |
Dest | 目录的新路径和名称(末尾不带反斜线),如果绝对路径未指定将被假设在 %A_WorkingDir% 。例如:D:\My Folder。注意:Dest 是目录移动后的实际路径和名称;它不是 Source 移入的目录(除了下面提到的已知限制)。 |
Flag |
(可选参数) 指定下列单个字符中的一个: 0 (默认): 不覆盖存在的文件。如果 Dest 已经作为一个文件或目录存在,移动操作将失败。 1: 覆盖存在的文件。不过,Dest 中任何不存在于 Source 的文件或子文件夹将不会被删除。已知限制:如果 Dest 已经作为一个文件夹存在并且和 Source 在同一个 volume(卷) 上,Source 将被移入 Dest 而不是覆盖它。要避免这种情况,请看下一个选项。 2: 和上面的模式 1 相同,除了不存在那个限制。 R: 重命名目录而不是移动它。虽然重命名目录通常和移动的效果一样,但如果你想要 "all or none" 的表现时,它会很有用;就是说,当 Source 或它的部分文件被锁定时(在使用)你不想移动操作仅部分成功。尽管这种方法不能把 Source 移动到另一个卷,但能把它移到它所在卷的其他任何目录。如果 Dest 已经作为一个文件或目录存在,移动操作将失败。 |
如果发生了一个问题 ErrorLevel 会被设为 1,此外为 0。
FileMoveDir 移动单个文件夹到一个新的位置。要替代它移动一个文件夹的内容(它的所有文件和子文件夹),请看 FileMove 的示例部分。
如果 source 和 destination 在不同的卷或 UNC(通用命名规则) 路径,一个复制/删除操作将被执行而不是移动。
FileCopyDir, FileCopy, FileMove, FileDelete, File-loops, FileSelectFolder, SplitPath
FileMoveDir, C:\My Folder, D:\My Folder ; 移动到一个新的驱动器。 FileMoveDir, C:\My Folder, C:\My Folder (renamed), R ; 简单的重命名. FileMoveDir, C:\My Folder, C:\New Location\My Folder, R ; 文件夹可以 "重命名至" 另一个目录,只要都在同一盘符下。