如何:在 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)。

  • destinationFileNameNothing 或空字符串 (ArgumentNullException)。

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

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

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

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

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

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

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

另请参阅