My.Computer.FileSystem.CopyFile 方法
更新: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 中将一个目录复制到另一个目录