更新:2007 年 11 月
将文件移动到一个新位置。
' Usage
My.Computer.FileSystem.MoveFile(sourceFileName ,destinationFileName)
My.Computer.FileSystem.MoveFile(sourceFileName ,destinationFileName ,overwrite)
My.Computer.FileSystem.MoveFile(sourceFileName ,destinationFileName ,showUI)
My.Computer.FileSystem.MoveFile(sourceFileName ,destinationFileName ,showUI ,onUserCancel)
' Declaration
Public Sub MoveFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String _
)
' -or-
Public Sub MoveFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String, _
   ByVal overwrite As Boolean _
)
' -or-
Public Sub MoveFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String, _
   ByVal showUI As UIOption _
)
' -or-
Public Sub MoveFile( _
   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 枚举。指定在用户取消该操作时是否引发异常。默认值为 UICancelOption.ThrowException。必选。
异常
以下情况可能会导致异常:
- 路径由于以下原因之一而无效:它是零长度字符串;它仅包含空白;它包含无效字符;或者它是一个设备路径(以 \\.\ 开头)(ArgumentException)。 
- 文件名以反斜杠 (\) 结尾 (ArgumentException)。 
- 路径无效,因为它是 Nothing (ArgumentNullException)。 
- destinationFileName 为 Nothing 或为空字符串 (ArgumentNullException)。 
- 源文件无效或不存在 (FileNotFoundException)。 
- 组合路径指向某个现有目录、目标文件已存在且 overwrite 设置为 False、目标目录中同名的文件正在使用中,或者用户没有足够的权限访问该文件 (IOException)。 
- 路径中的文件名或目录名包含冒号 (:),或格式无效 (NotSupportedException)。 
- onUserCancel 设置为 ThrowException,并且用户已经取消了该操作或者发生了 I/O 错误 (OperationCanceledException)。 
- 路径超过了系统定义的最大长度 (PathTooLongException)。 
- 该用户缺少查看该路径所必需的权限 (SecurityException)。 
- 该用户没有必需的权限 (UnauthorizedAccessException)。 
备注
如果目标结构不存在,则创建该结构。
仅当将文件在同一卷中移动时,MoveFile 方法才会保留 ACE(访问控制项)。这包括继承的 ACE,当其移动时将变成直接的 ACE(直接的 ACE 优先于继承的 ACE)。如果在卷之间移动文件,则不会复制 ACE。
任务
下表列出了涉及 My.Computer.FileSystem.MoveFile 方法的任务的示例。
| 要执行的操作 | 请参见 | 
|---|---|
| 移动文件 | |
| 移动文件集合 | |
| 移动目录的内容 | 
示例
此示例将文件 Test.txt 从 TestDir1 移到 TestDir2。
My.Computer.FileSystem.MoveFile("C:\TestDir1\test.txt", "C:\TestDir2\test.txt")
此示例将文件 Test.txt 从 TestDir1 移到 TestDir2,并将其重命名为 Test2.txt。
My.Computer.FileSystem.MoveFile("C:\TestDir1\test.txt", "C:\TestDir2\test2.txt")
要求
命名空间:Microsoft.VisualBasic.MyServices
类:FileSystemProxy(提供对 FileSystem 的访问)
**程序集:**Visual Basic 运行库(位于 Microsoft.VisualBasic.dll 中)
不同项目类型的可用性
| 项目类型 | 是否可用 | 
|---|---|
| Windows 应用程序 | 是 | 
| 类库 | 是 | 
| 控制台应用程序 | 是 | 
| Windows 控件库 | 是 | 
| Web 控件库 | 是 | 
| Windows 服务 | 是 | 
| 网站 | 是 | 
权限
可能需要下列权限:
| 权限 | 说明 | 
|---|---|
| 控制访问所有环境变量的能力。关联的枚举:Unrestricted。 | |
| 控制访问文件和文件夹的能力。关联的枚举:Unrestricted。 | |
| 控制访问注册表变量的能力。关联的枚举:Unrestricted。 | |
| 控制与用户界面和剪贴板相关的权限。关联的枚举:SafeSubWindows。 |