如何:在 Visual Basic 中移动目录
更新: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 中将一个目录复制到另一个目录