2014-01-24 28 views
0

我有一個根目錄,裏面有更多的目錄。這些目錄包含各種Html和ncx文件。我必須得到最後修改的文件的名稱。 我使用此代碼從嵌套目錄中檢索上次修改的文件名

string filePath = @"~\FolderName\"; 
string completeFilePath = Server.MapPath(filePath); 
var directory = new DirectoryInfo(completeFilePath); 
var fileName = (from f in directory.GetFiles() 
orderby f.LastWriteTime descending 
select f).First(); 
lblDisplayFileName.Text=fileName.ToString(); 

但它僅搜索被放置只在根目錄下的文件。它不搜索進一步存在於根目錄目錄中的文件。我不知道如何獲取嵌套目錄中進一步存在的文件的最後修改文件名。我必須顯示所有文件中上次修改的文件的名稱,而不考慮任何目錄中的文件名。

回答

0

看一看的DirectoryInfo.GetFiles的文檔:

MSDN

從當前目錄返回一個文件列表

你必須使用overload that takes a SearchOption

directory.GetFiles("*.*", SearchOption.AllDirectories) 
+0

var dir = Directory.GetDirectories(path); (int i = 0; i user

+0

你能解釋我應該做什麼和在哪裏做什麼改變? – user

+0

@user:將你的代碼'...從directory.GetFiles()...'中的f改爲'... from directory.GetFiles(「*。*」,SearchOption.AllDirectories)中的f ...' –

0

嘗試的GetFiles這需要在directory.GetFiles 2個參數

從f的超負荷( 「」,SearchOption.AllDirectories)

SearchOption指定搜索操作是應該只包含當前目錄還是僅包含所有子目錄。

相關問題