iT邦幫忙

0

C# 取得最新檔案

你好,我現在有個新的問題,我想要請問有沒有透過關鍵字的搜尋檔案後,取得最新的檔案(最後修改日期的條件)

資料夾中的xlsx檔案
檔案名 修改時間
ABC111 2021/05/24
ABC123 2021/05/16
ABC333 2021/05/18
ABC144 2021/05/19

我想要直接讀取最新的2021/05/24的這份檔案。
條件是,我想要ABC這個關鍵名(後面名字不管),然後取最新日期的,之後要讀取。

不知道有沒有可以直接 讀取 +關鍵名 + 最新日期 的語法
目前知道如何讀取資料夾關鍵名的檔案,以及各別的時間

下方只是先做取得ABC這個檔案名以及個別時間

         DirectoryInfo di = new     DirectoryInfo(@"C:\Users\Desktop\WKSTRST");
        var vi = di.GetFiles("ABC*.xlsx");
        FileInfo aaa = vi[0];
        FileInfo bbb = vi[1];
        Console.WriteLine(aaa.CreationTime);
        Console.WriteLine(bbb.CreationTime);
        

2 個回答

2
japhenchen
iT邦大師 1 級 ‧ 2021-05-24 14:46:17
最佳解答
         DirectoryInfo di = new     DirectoryInfo(@"C:\Users\Desktop\WKSTRST");
        var vi = di.GetFiles("ABC*.xlsx")
            .OrderByDescending(s => s.CreationTime)
            .ToArray();
        FileInfo aaa = vi[0];
        FileInfo bbb = vi[1];
        Console.WriteLine(aaa.CreationTime);
        Console.WriteLine(bbb.CreationTime);

記得要

using System.Linq;
0
franx0722
iT邦新手 5 級 ‧ 2021-05-24 12:49:11

檔名就以日期時間來定不就是最簡單的方式也是最常見的像是EDC、EES之類的,MES上傳的檔案也差不多是這樣的規格

如果不是上述的問題 那可以用Directory.GetFiles 先列出檔案 再用Directory.GetLastWriteTime 取得修改時間

我要發表回答

立即登入回答