更新:2007 年 11 月
将文件复制到新位置。
' Usage
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName)
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName ,overwrite)
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName ,showUI)
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName ,showUI ,onUserCancel)
' Declaration
Public Sub CopyFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String _
)
' -or-
Public Sub CopyFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String, _
   ByVal overwrite As Boolean _
)
' -or-
Public Sub CopyFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String, _
   ByVal showUI As UIOption _
)
' -or-
Public Sub CopyFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String, _
   ByVal showUI As UIOption, _
   ByVal onUserCancel As UICancelOption _
)
参数
- sourceFileName 
 String。将要复制的文件。必选项。
- destinationFileName 
 String。应将文件复制到的位置。必选项。
- overwrite 
 Boolean。是否应改写现有的文件。默认值为 False。必选。
- showUI 
 UIOption。是否以直观方式跟踪操作的进度。默认值为 UIOption.OnlyErrorDialogs。必选。
- onUserCancel 
 UICancelOption。指定当用户在操作中单击“取消”时应采取的操作。默认值为 ThrowException。必选。
异常
以下情况可能会导致引发异常:
- 路径由于以下原因之一而无效:它是零长度字符串;它仅包含空白;它包含无效字符;或者它是一个设备路径(以 \\.\ 开头)(ArgumentException)。 
- 系统无法检索绝对路径 (ArgumentException)。 
- destinationFileName 包含路径信息 (ArgumentException)。 
- 路径无效,因为它是 Nothing (ArgumentNullException)。 
- destinationFileName 为 Nothing 或为空字符串 (ArgumentNullException)。 
- 源文件无效或不存在 (FileNotFoundException)。 
- 组合路径指向现有的目录 (IOException)。 
- 目标文件存在且 overwrite 设置为 False (IOException)。 
- 用户没有足够的权限访问文件 (IOException)。 
- 正在使用目标目录中同名的文件 (IOException)。 
- 路径中的文件名或目录名包含冒号 (:),或格式无效 (NotSupportedException)。 
- UICancelOption 设置为 ThrowException,而且用户取消了操作 (OperationCanceledException)。 
- UICancelOption 设置为 ThrowException,而且发生未指定的 I/O 错误 (OperationCanceledException)。 
- 路径超过了系统定义的最大长度 (PathTooLongException)。 
- 该用户没有必需的权限 (UnauthorizedAccessException)。 
- 该用户缺少查看该路径所必需的权限 (SecurityException)。 
备注
CopyFile 不保留 ACE(访问控制条目)。新创建的文件从创建它的目录继承默认的 ACE。
任务
下表列出了涉及 My.Computer.FileSystem.CopyFile 方法的任务的示例。
| 要执行的操作 | 请参见 | 
|---|---|
| 将文件复制到同一个目录。 | |
| 将文件复制到另一个目录。 | 
示例
本示例将文件 Test.txt 复制到目录 TestFiles2 ,但不改写现有的文件。
My.Computer.FileSystem.CopyFile _
("C:\UserFiles\TestFiles\test.txt", _
"C:\UserFiles\TestFiles2")
用想在代码中使用的路径来替换文件路径。
本示例将文件 Test.txt 复制到目录 TestFiles2,并将它重命名为 NewFile.txt。
My.Computer.FileSystem.CopyFile _
("C:\UserFiles\TestFiles\test.txt", _
"C:\UserFiles\TestFiles2", "NewFile.txt", FileIO.UICancelOption.DoNothing)
用想在代码中使用的路径来替换文件路径。
要求
命名空间:Microsoft.VisualBasic.MyServices
类:FileSystemProxy(提供对 FileSystem 的访问)
**程序集:**Visual Basic 运行时库(位于 Microsoft.VisualBasic.dll 中)
按项目类型列出的可用性
| 项目类型 | 可用 | 
|---|---|
| Windows 应用程序 | 是 | 
| 类库 | 是 | 
| 控制台应用程序 | 是 | 
| Windows 控件库 | 是 | 
| Web 控件库 | 是 | 
| Windows 服务 | 是 | 
| 网站 | 是 | 
权限
需要以下权限:
| 权限 | 说明 | 
|---|---|
| 控制访问所有环境变量的能力。关联的枚举:Unrestricted。 | |
| 控制访问文件和文件夹的能力。关联的枚举:Unrestricted。 | |
| 控制访问注册表变量的能力。关联的枚举:Unrestricted。 | |
| 控制与用户界面和剪贴板相关的权限。关联的枚举:SafeSubWindows。 | 
请参见
任务
如何:在 Visual Basic 中将具有特定模式的文件复制到目录中
如何:在同一目录中创建文件副本 (Visual Basic)
如何:在 Visual Basic 中将一个目录复制到另一个目录