查找并复制最新文件

Find and copy the latest file

我们的程序将 PDF 保存到网络文件夹。然后我会将 PDF 复制到 Web 服务器。当用户 saves/archives 多次报告相同内容时就会出现问题。

示例:

有什么方法可以复制最新版本吗?我只想复制 DAGH4 (002).PDF 和 DANYL (001).PDF。或者有没有办法重命名并保存最新版本?

另一个想法

我使用此代码检查文件是否存在,并允许用户单击缩略图打开关联的 PDF。

Dim pdf_path = Server.MapPath(String.Format("../Reports/{0}.pdf",     
SerialNumber))
lblSerial.Visible = System.IO.File.Exists(pdf_path)
HyperLinkSerial.Visible = System.IO.File.Exists(pdf_path)
HyperLinkSerial.Text = "Inspection"
HyperLinkSerial.NavigateUrl = "../Reports/" & SerialNumber & ".PDF"

但是,我只需要找到并显示修改日期为 2016 年 3 月 16 日的 DAGH4 (002).PDF 10:10 AM

可以使用 VB .NET 吗?

要查找每个文件的最新副本,您可以使用 LINQ 按序列号分组,按修改日期排序,select 每组的第一项。请注意,这假设您的 "SerialNumber" 只是字母和数字(正则表达式匹配的内容):

Dim latest As IEnumerable(Of String) =
    From f In New DirectoryInfo(Server.MapPath("../Reports")).EnumerateFiles("*.PDF")
    Let serialNumber = Regex.Match(f.Name, "^\w+").Value
    Order By serialNumber Ascending, f.LastWriteTime Descending
    Group By serialNumber Into Group
    Select Group.First().f.FullName

latest 将拥有每个序列号的最新(基于修改日期)文件的完整 path/name。