更新:2007 年 11 月
My.Computer.FileSystem.MoveDirectory 方法可用于移动目录。
如果试图将目录移入一个并不存在的目录中,则将创建目标目录。
如果 overwrite 为 True,且目标目录已经存在,则会将新文件添加到该目录中的已有文件。如果源目录包含同名的文件,目标目录中的文件将被重写。
移动目录
- 使用 MoveDirectory 方法,并指定源目录和目标目录来移动目录。下面的示例将 Dir1 移动到 Dir2 中。 - My.Computer.FileSystem.MoveDirectory("C:\Dir1", "C:\Dir2")
移动一个目录并重写现有目录
- 使用 MoveDirectory 方法,并指定源目录和目标目录来移动目录。下面的示例将 Dir1 移动到 Dir2 中,如果目标目录已经存在,会将前者的文件添加到现有文件。 - My.Computer.FileSystem.MoveDirectory("C:\Dir1", "C:\Dir2", True)
可靠编程
以下情况可能会导致异常:
- 路径由于以下原因之一而无效:它是零长度字符串;它仅包含空白;它包含无效字符;或者它是一个设备路径(以 \\.\ 开头)(ArgumentException)。 
- 路径为 Nothing (ArgumentNullException)。 
- 源无效 (DirectoryNotFoundException)。 
- 源是一个根目录 (IOException)。 
- 组合路径指向某个现有文件 (IOException)。 
- 源路径和目标路径相同 (IOException)。 
- 文件已经存在,并且 overwrite 设置为 False (IOException)。 
- 无法复制子目录中的文件 (IOException)。 
- 操作为循环 (InvalidOperationException)。 
- 此路径中的文件名或目录名包含冒号 (:) (NotSupportedException)。 
- onUserCancel 设置为 UICancelOption.ThrowException,并且用户取消了操作 (OperationCanceledException)。 
- onUserCancel 设置为 UICancelOption.ThrowException,并且操作无法完成 (OperationCanceledException)。 
- 路径超过了系统定义的最大长度 (PathTooLongException)。 
- onUserCancel 设置为 UICancelOption.ThrowException,并且用户缺少必要的权限 (SecurityException)。 
- 用户没有修改该文件的权限 (UnauthorizedAccessException)。 
请参见
任务
如何:在 Visual Basic 中将一个目录复制到另一个目录