如何:在 Visual Basic 中移动文件

更新:2007 年 11 月

可以使用 My.Computer.FileSystem.MoveFile 方法将文件移动到另一个文件夹。如果目标结构不存在,则将创建该结构。

移动文件

  • 使用 MoveFile 方法通过指定源文件和目标文件的文件名和位置,可以移动文件。此示例将名为 test.txt 的文件从 TestDir1 移到 TestDir2。请注意,即使目标文件名与源文件名相同,也需要进行指定。

    My.Computer.FileSystem.MoveFile("C:\TestDir1\test.txt", _
        "C:\TestDir2\test.txt")
    

移动并重命名文件

  • 使用 MoveFile 方法通过指定源文件的名称和位置、目标位置以及在目标位置的新名称,可以移动文件。此示例将名为 test.txt 的文件从 TestDir1 移到 TestDir2,并将其重命名为 nexttest.txt。

    My.Computer.FileSystem.MoveFile("C:\TestDir1\test.txt", _
        "C:\TestDir2\nexttest.txt", _
        FileIO.UIOption.AllDialogs, _
        FileIO.UICancelOption.ThrowException)
    

可靠编程

以下情况可能会导致异常:

  • 路径由于以下原因之一而无效:它是零长度字符串;它仅包含空白;它包含无效字符;或者它是一个设备路径(以 \\.\ 开头)(ArgumentException)。

  • 路径无效,因为它是 Nothing (ArgumentNullException)。

  • destinationFileName 为 Nothing 或为空字符串 (ArgumentNullException)。

  • 源文件无效或不存在 (FileNotFoundException)。

  • 组合路径指向某个现有目录、目标文件已存在且 overwrite 设置为 False、目标目录中同名的文件正在使用中,或者用户没有足够的权限访问该文件 (IOException)。

  • 路径中的文件名或目录名包含冒号 (:),或格式无效 (NotSupportedException)。

  • showUI 设置为 True,onUserCancel设置为 ThrowException,并且用户已经取消了该操作或者发生了未指定的 I/O 错误 (OperationCanceledException)。

  • 路径超过了系统定义的最大长度 (PathTooLongException)。

  • 该用户缺少查看该路径所必需的权限 (SecurityException)。

  • 该用户没有必需的权限 (UnauthorizedAccessException)。

请参见

任务

如何:在 Visual Basic 中重命名文件

如何:在 Visual Basic 中移动文件集合

如何:在 Visual Basic 中在不同的目录中创建文件的副本

如何:在 Visual Basic 中分析文件路径

如何:在 Visual Basic 中移动目录

参考

My.Computer.FileSystem.MoveFile 方法