【问题标题】:Copy Files from one directory to another directory based on DateModified根据 DateModified 将文件从一个目录复制到另一个目录
【发布时间】:2014-02-21 10:20:13
【问题描述】:

我在一个文件夹中有一些文件列表(.txt),每个文件都有一些 DateModified。

现在我需要选择从今天日期到日期前 2 天的所有文件,我需要将其移动到另一个文件夹。

谁能告诉我如何根据修改后的日期获得它们?

【问题讨论】:

  • 按照修改日期排序,方便你
  • 如果我手动执行,我更喜欢这个..但是我如何通过代码执行呢?
  • 如果你尝试过什么,请告诉我。
  • 您是否考虑过使用robocopy,而不是vbscript?解决方案是一个简单的命令行:robocopy <sourcedir> <targetdir> *.txt /MOV /MAXAGE:2

标签: vb.net date directory move


【解决方案1】:

试试我写的这个方法:

Private Sub Test() Handles Button1.Click

    ' Get the file paths inside the textfile.
    Dim FilePaths As String() =
        IO.File.ReadAllLines("C:\File.txt")

    ' Get the file information of each filepath.
    Dim Files As IO.FileInfo() =
        (From FilePath As String In FilePaths
         Where Not String.IsNullOrEmpty(FilePath)
         Select New IO.FileInfo(FilePath)).ToArray

    ' Sort them by Date-Modified, and keep only files modified between 2 days to today.
    Files = (From [File] As IO.FileInfo In Files
             Order By [File].LastWriteTime Ascending
             Where [File].LastWriteTime.AddDays(-2).Year = Today.AddDays(-2).Year _
                   AndAlso [File].LastWriteTime.AddDays(-2).Month = Today.AddDays(-2).Month _
                           AndAlso [File].LastWriteTime.Day >= Today.AddDays(-2).Day).ToArray

    ' Iterate the files (to copy them for example).
    For Each [File] As IO.FileInfo In Files

        MsgBox(String.Format("Name: {0} | DateModified: {1}",
                             [File].FullName, [File].LastWriteTime.ToShortDateString & " " & Today.ToShortDateString))
    Next [File]

End Sub

End Sub

【讨论】:

    猜你喜欢
    • 2012-02-15
    • 2017-11-18
    • 2013-06-01
    • 2020-06-22
    • 2014-08-12
    • 2013-10-24
    • 2011-10-24
    • 1970-01-01
    相关资源
    最近更新 更多