開発環境 Microsoft Visual C# 2010 Express (SP1)
実行環境 Microsoft Windows XP Home Edition (SP3)
プロジェクトの種類 空のプロジェクト
プロジェクト名 dirext

dirext.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
 
static class Program
{
    static List<string> extList = new List<string>();
 
    static void Main(string[] args)
    {
        if (args.Length < 1)
        {
            Console.WriteLine("usage: dirext dir");
            return;
        }
        DirList(args[0]);
        Console.WriteLine("count=" + extList.Count);
 
        var records =
            from str in extList
            group str by str.ToLower();
        foreach (var rec in records)
        {
            Console.WriteLine(rec.Key + " " + rec.Count());
        }
 
        Console.ReadLine();
    }
 
    static void DirList(string path)
    {
        DirectoryInfo dirInfo = new DirectoryInfo(path);
        foreach (DirectoryInfo di in dirInfo.GetDirectories())
        {
            DirList(di.FullName);
        }
        foreach (FileInfo fi in dirInfo.GetFiles())
        {
            Console.WriteLine(fi.FullName);
            extList.Add(fi.Extension);
        }
    }
}
 
最終更新:2012年12月05日 10:10