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

更新:2007 年 11 月

通过 My.Computer.FileSystem.MoveFile 方法可以在目录之间移动文件。

如果目标结构不存在,则将创建该结构。

将文件集合从一个目录移动到另一个目录

  • 定义文件集合并调用 MoveFile 方法。此示例将目录 MyDocuments 中的所有文件移动到文件夹 StorageDir 中。

    For Each foundFile As String In My.Computer.FileSystem.GetFiles( _
        My.Computer.FileSystem.SpecialDirectories.MyDocuments, _
        FileIO.SearchOption.SearchAllSubDirectories, "*.*")
    
        Dim foundFileInfo As New System.IO.FileInfo(foundFile)
        My.Computer.FileSystem.MoveFile(foundFile, "C:\StorageDir\" & foundFileInfo.Name)
    Next
    

可靠编程

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

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

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

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

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

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

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

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

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

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

请参见

任务

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

如何:在 Visual Basic 中移动文件

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

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

如何:在 Visual Basic 中移动目录

如何:在 Visual Basic 中移动目录中的内容

参考

My.Computer.FileSystem.MoveFile 方法

My.Computer.FileSystem.GetFiles 方法

其他资源

创建、删除和移动文件和目录 (Visual Basic)