如何:在 Visual Basic 中移动文件

可以使用 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 中移动目录

参考

MoveFile