使用 CopyDirectory 方案目录复制到另一个目录。此方法复制目录以及目录本身。如果目标目录不存在,则将创建。如果同名目录于目标位置,并 overwrite 设置为 False,这两个目录的内容将合并。可以为目录指定新名称在操作中。
在将某目录中的文件,由特定文件引发的异常可能会引发, (如合并期间存在的文件,并且 overwrite 设置为 False时。当引发此类异常时,它们合并为一个异常, Data 属性保存项文件或目录路径是键,而特定异常消息包含在相应的值。
目录复制到另一个目录
使用 CopyDirectory 方法,并指定源和目标目录的名称。下面的示例将名为的目录复制 TestDirectory1 到 TestDirectory2,复盖现有文件。
My.Computer.FileSystem.CopyDirectory("C:\TestDirectory1", "C:\TestDirectory2", True)
此代码示例也可用作 IntelliSense 代码段。在代码段选择器,它位于 文件系统 (处理驱动器、文件夹和文件。有关更多信息,请参见 代码段。
可靠编程
以下情况可能会导致异常:
为目录指定的新名称包含冒号 (:) 或斜杠 (\ 或/) (ArgumentException)。
路径由于以下原因之一而无效:路径是零长度字符串; 仅包含空白; 包含无效字符; 或者它设备路径 (开头字符为 \ \ 中的开头\) (ArgumentException).
路径无效,因为它是 Nothing (ArgumentNullException)。
destinationDirectoryName 是 Nothing 或为空字符串 (ArgumentNullException)
源目录不存在 (DirectoryNotFoundException)。
源目录是一个根目录 (IOException)。
组合路径指向某个现有文件 (IOException)。
源路径和目标路径相同 (IOException)。
ShowUI 设置为 UIOption.AllDialogs ,并且用户取消了该操作,或者目录中的一个或多个文件无法复制 (OperationCanceledException)。
操作循环 (InvalidOperationException)。
路径包含冒号 (:) (NotSupportedException)。
路径超过了系统定义的最大长度 (PathTooLongException)。
一个路径中的文件名或文件夹名包含冒号 (:) 或格式无效 (NotSupportedException()。
该用户缺少查看该路径所必需的权限 (SecurityException)。
目标文件存在,但无法访问 (UnauthorizedAccessException)。
请参见
任务
如何:在 Visual Basic 中查找具有特定模式的子目录