我想知道如何从一个文件夹复制文件,从今天的日期不到2天到另一个文件夹。
这就是我所拥有的:
Dim source As New DirectoryInfo("C:\Users\username\Desktop\123")
Dim target As New DirectoryInfo("C:\Users\username\Desktop\345")
Dim files = source.GetFiles("*", SearchOption.AllDirectories).Where(Function(file) file.LastWriteTime.Date.Equals(Date.Today.AddDays(-2)))
For Each file As FileInfo In files
file.copy(file.FullName, target.FullName & "\" & file.Name, True)
Next file编辑:
错误截图:

发布于 2014-02-26 08:45:29
第一个问题:在For循环中,您要分配一个变量名file,并且与具有相同名称的System.IO.File类发生冲突,因此您需要更改指定Copy方法的类的变量名。
第二个问题:Copy方法是System.IO.File类的成员,而不是System.IO.FileInfo类,它只是一组用于检索文件信息的方法和属性,在For循环中,您试图从FileInfo对象访问Copy成员,但是成员不存在。
那么您的代码应该如下所示:
Imports System.IO
Public Class Form1
Private Sub Test() Handles MyBase.Load
Dim Source As New DirectoryInfo("C:\Users\username\Desktop\123")
Dim Target As New DirectoryInfo("C:\Users\username\Desktop\345")
Dim Files As FileInfo() =
(From [File] As FileInfo In Source.GetFiles("*", SearchOption.AllDirectories)
Where [File].LastWriteTime.Date.Equals(Date.Today.AddDays(-2))).ToArray
For Each [File] As FileInfo In Files
IO.File.Copy([File].FullName,
Path.Combine(Target.FullName, [File].Name), True)
Next [File]
End Sub
End Class发布于 2014-02-26 07:40:46
Dim source As New DirectoryInfo("C:\Users\username\Desktop\123")
Dim target As New DirectoryInfo("C:\Users\username\Desktop\345")
Dim ChildFile As FileInfo
For Each ChildFile In source.GetFiles("*", SearchOption.AllDirectories).Where(Function(file) file.LastWriteTime.Date.Equals(Date.Today.AddDays(-2)))
ChildFile.CopyTo(Path.Combine(target.FullName, ChildFile.Name), False)
Nexthttps://stackoverflow.com/questions/22034338
复制相似问题