VB.NET2010 如何复制指定目录下按类型的所有文件到另一文件夹 复制后再删除原来的文件?

1. D:\1\按指定类型文件*.txt,复制到E:\2\(或者\\SERVER\BAK\)下面
2.复制到目标文件,有同样的文件名,则直接覆盖,无需提示
3.复制后,删除原目标文件夹在的*.txt。(也就是移动MOVE)

代码如下:但是会报错!
Imports System.IO
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim files = System.IO.Directory.GetFiles("D:\1\", "*.TXT") '显示指定文件下的特定类型文件
Dim mf As String
mf = "E:\2\"
For Each f As String In files
MsgBox(f)
File.Copy(f, mf) '复制到目标

Dim str1 As String
Kill(str1 & "*.TXT") '复制后删除
Next
End Sub

这段代码的问题是:
首先for each循环在files里查找文件对象,但是f变量声明为string了,无法让它获取对象;
然后file.copy的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配了,所以默认为查找不到文件,将会报错。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件,第二次才去删除。
温馨提示:答案为网友推荐,仅供参考