Vb.net 复制具有特定扩展名的所有文件

Vb.net 复制具有特定扩展名的所有文件,vb.net,file,Vb.net,File,您好,我想复制具有特定扩展名的所有文件。我试过一些方法,但不起作用。在调试过程中,我遇到了一个异常“路径中使用了非法字符”,我猜它不喜欢*.xls。有什么建议吗 初试 My.Computer.FileSystem.CopyFile("C:\test\test\mxw\*.xls\", "C:\workorder1-23\workorder1-23\mxw\", True) 第二次尝试 For Each f In Directory.GetFiles("C:\test\test\mxw\*.x

您好,我想复制具有特定扩展名的所有文件。我试过一些方法,但不起作用。在调试过程中,我遇到了一个异常“路径中使用了非法字符”,我猜它不喜欢*.xls。有什么建议吗

初试

 My.Computer.FileSystem.CopyFile("C:\test\test\mxw\*.xls\", "C:\workorder1-23\workorder1-23\mxw\", True)
第二次尝试

For Each f In Directory.GetFiles("C:\test\test\mxw\*.xls\", CStr(SearchOption.AllDirectories))
     If My.Computer.FileSystem.FileExists(f.ToString) Then
          File.Copy("C:\test\test\mxw\*.xls\", "C:\workorder1-23\workorder1-23\mxw\", True)
     End If
Next

CopyFile只复制一个文件。
不能将其与通配符一起用于复制一组文件。(无效字符可能是通配符) 并且不应在文件末尾附加反斜杠

让我试着用这个替换你的代码

For Each f In Directory.GetFiles("C:\test\test\mxw", "*.xls", SearchOption.AllDirectories)
     If File.Exists(f) Then
          File.Copy(f, Path.Combine("C:\workorder1-23\workorder1-23\mxw", Path.GetFileName(f)), True)
     End If
Next

还有三个参数,一个路径、一个模式和一个用于读取子文件夹的标志,因为文件。复制不会创建目录。提供的答案仅在目标目录存在时有效。在文件之前添加Create.Directory(f)。如果没有,请复制