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)。