HIRASE CONNECTION WK

programming collection

目次

Blog 利用状況

ニュース

あわせて読みたいブログパーツ

書庫

日記カテゴリ

Link Collection

未来ファイルを探せ。

先ほどの日記「いつもリビルドの恐怖」を書いた後に作った、 未来時刻のタイムスタンプを持つファイルをリストアップするツールのソースを公開しておきます。

C# Visual Studio 2008で作成。

using System;
using System.Collections.Generic;
using System.Text;

namespace FindFileFromFuture
{
    class Program
    {
        System.DateTime nowTime = System.DateTime.Now;

        public System.DateTime NowTime
        {
            get { return this.nowTime; }
            set { this.nowTime = value; }
        }

        static void Main(string[] args)
        {
            Program p = new Program();
            Console.WriteLine("Now Time: " + p.NowTime);
            Int64 fileNum = p.FindFileFromFuture(@".\");
            Console.WriteLine("Number of Checked file: " + fileNum);
            Console.WriteLine("Push any key");
            Console.ReadKey();
        }

        public Int64 FindFileFromFuture(String directory)
        {
            Int64 fileNum = 0;
            String[] fileNames = System.IO.Directory.GetFiles(directory);
            foreach (String fileName in fileNames)
            {
                System.IO.FileInfo fileInfo = new System.IO.FileInfo(fileName);
                DateTime lastWriteTime = fileInfo.LastWriteTime;
                TimeSpan timeSpan = this.nowTime.Subtract(lastWriteTime);
                if (timeSpan.Ticks < 0)
                {
                    Console.WriteLine("Found: " + fileName);
                    Console.WriteLine("\tLast write time: " + lastWriteTime);
                }
                fileNum++;
            }

            String[] childDirectories = System.IO.Directory.GetDirectories(directory);
            foreach (String childDirectory in childDirectories)
            {
                fileNum += FindFileFromFuture(childDirectory);
            }

            return fileNum;
        }
    }
}

投稿日時 : 2008年2月19日 15:03

コメントを追加

No comments posted yet.
タイトル  
名前  
URL
コメント