尝试使用特定格式移动文件

时间:2014-11-29 11:04:48

标签: vb.net

所以我要做的就是将我的下载文件夹中包含.mp3格式的文件移动到我的音乐文件夹中。这是我目前的代码:

Private Sub BtnMove_Click(sender As System.Object, e As System.EventArgs) Handles BtnMove.Click
    Dim di As New DirectoryInfo("D:\Downloads")
    Dim files() As FileInfo = di.GetFiles("*.mp3", SearchOption.AllDirectories)

    My.Computer.FileSystem.MoveFile("D:\Downloads" + files(),
    "D:\Desktop\Music\")
End Sub

1 个答案:

答案 0 :(得分:0)

目前,您正在尝试移动名为" DownloadsSystem.IO.FileInfo []"的文件。来自" D:\"驱动器,并且您尝试将其作为目录移动到" D:\ Desktop \"。

这里出了什么问题:

首先,files()数组是一个填充了System.IO.FileInfo对象的完整列表。您不能在一行中同时使用其中的所有对象。并且因为它不是字符串,所以当应用程序连接两个"字符串" ...

时,它将使用对象的名称。

其次,如果您查看键入代码My.Computer.FileSystem.MoveFile(时弹出的小方框,您会看到参数是源 FileName 和目标 FileName < / strong>即可。这意味着你必须在两个参数中定义(通缉)文件的名称

话虽如此,这里有一段可行的代码:

Dim di As New DirectoryInfo("D:\Downloads")
Dim files() As FileInfo = di.GetFiles("*.mp3", SearchOption.AllDirectories)

For Each f As FileInfo In files
    My.Computer.FileSystem.MoveFile(f.FullName, Path.Combine("D:\Desktop\Music", f.Name))
Next