2014-01-13 54 views
-7

我將如何創建控制檯應用程序來顯示此數據?C#Windows文件夾信息

Files in: C:\Windows Total files: 49 Total size of all files: 7121424 bytes Largest file: explorer.exe, 2871808 bytes Average file length: 145335 bytes

+9

開始與*文件>新建>項目>控制檯應用程序* –

回答

4

看看DirectoryInfo。在這裏你可以得到一些關於目錄的信息。有了它,你可以得到GetDirectories(/* ... */)的(子)目錄,去所有文件dirInfo.GetFiles(/* ... */),你可以在FileInfo工作。它包含例如大小,名稱等等。在列表保存並與'Linq.Sum(), Linq.Max()and LINQ.Average()工作`

獲取有關你的信息類和LINQ(總和,最大值)在MSDN和谷歌採取,SO和更多的例子和進一步的幫助。如果你將卡住越來越多,隨時評論這一點。

0

下面是其他.NET語言作爲提示答案:

let path = @"C:\Windows" 
let fileSizes = (System.IO.DirectoryInfo path).GetFiles() |> Array.map (fun x -> x.Length, x.Name) 
let largestSize, largestName = fileSizes |> Seq.maxBy fst 
printfn "Files in: %s Total files: %d Total size of all files: %d bytes Largest file: %s, %d bytes Average file length: %.0f bytes" 
    path 
    fileSizes.Length 
    (fileSizes |> Seq.map fst |> Seq.sum) 
    largestName 
    largestSize 
    (fileSizes |> Seq.map (fst >> float) |> Seq.average) 

文件中:C:文件\ Windows下合計:1015104161個字節的最大文件:存儲器44中的所有文件的總大小。 DMP,1006822211個字節的平均文件長度:23070549個字節

+0

由於這是有幫助:)但是否有因爲即時通訊在C#中的任何實例沒有信心在編程它但它將是真正有用的:) – user3169776

+0

對不起,我只是逗你;)你可以嘗試這樣的:'var f = System.IO.DirectoryInfo(path).GetFiles()。Select(x => new {x.Length,x.Name})。 MAX(); Console.WriteLine(「name = {0},size = {1}」,f.Name,f.Length);' – johv