2017-12-12 21 views
0

基本的に私がやっていることは、FileInfoが取得するファイルの日付を変更することです。うまくいけば、コードは少し良く説明されます。FileInfoからファイル名を取得して使用する方法

DirectoryInfo prefetch = new DirectoryInfo("c:\\Windows\\Prefetch"); 
FileInfo[] log = prefetch.GetFiles("2*"); 
if (log.Length == 0) 
    MessageBox.Show("Nothing Found"); 
else 
    DateTime modified = System.IO.File.GetLastWriteTime(Convert.ToString(log)); 
    MessageBox.Show(Convert.ToString(modified)); 

上記のコードは機能しません。つまり、Prefetchにはlog2.txtというファイルがあります。 FileInfoはそれが存在することを検出しますが、そのファイルの変更日を表示しようとしています。私はそれが存在するかどうか、そして修正された日付を表示する方法を知る方法を知っていますが、FileInfoが見つけたファイル/ファイルの名前を取得して、変更された日付を表示する方法を理解できません。どんな提案や答えも大歓迎です。

+0

Windowsでは、DateCreatedとDateModifiedは確定的ではありません。 – bic

答えて

0

一つだけのファイルがある場合、私はあなただけのプロパティ名へのアクセスをあなたは、ファイル名や更新日時を取得するにはSystem.IO.FileSystemInfo.FileInfo

でのFileInfoクラスを確認することができ、それはfile[0].LastWriteTime

+0

それが機能するので、最近修正されたものを表示する方法はありますか? [0]のように最初のものが表示されますが、どれくらいの数があるのか​​わからず、最新のものを取得したい場合はできますか? – DylanC

+0

log.OrderByDesc(x => x.LastWriteTime).FirstOrDefault() – Ctznkane525

0

だろうと考えているとLastWriteTime

サンプルコードを変更して、ログ配列の最初の要素のファイル名を表示しました。

DirectoryInfo prefetch = new DirectoryInfo("c:\\Windows\\Prefetch"); 
FileInfo[] log = prefetch.GetFiles("2*"); 
if (log.Length == 0) 
    MessageBox.Show("Nothing Found"); 
else 
    MessageBox.Show(log[0].Name); 
関連する問題