C#獲取文件版本、文件大小等信息

使用如下C#程序代碼能夠很是方便地獲取Windows系統中任意一個文件(尤爲是可執行文件)的文件版本、文件大小、版權、產品名稱等信息。所獲取到的信息相似於在Windows操做系統中右鍵點擊該文件,而後點擊【屬性】-【詳細信息】所看到的文件信息(Windows操做系統該界面上的文字信息不可複製)。

詳細C#程序代碼以下:

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

class Program
{
    static void Main(string[] args)
    {
        while (true)
        {
            Console.Write("請輸入指定的文件路徑(請拖拽文件到此處):");
            string path = Console.ReadLine();
            PrintFileVersionInfo(path);
        }

    }

    /// <summary>
    /// 打印指定文件的詳細信息
    /// </summary>
    /// <param name="path">指定文件的路徑</param>
    static void PrintFileVersionInfo(string path)
    {
        System.IO.FileInfo fileInfo = null;
        try
        {
            fileInfo = new System.IO.FileInfo(path);
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            // 其餘處理異常的代碼
        }
        // 若是文件存在
        if (fileInfo != null && fileInfo.Exists)
        {
            System.Diagnostics.FileVersionInfo info = System.Diagnostics.FileVersionInfo.GetVersionInfo(path);
            Console.WriteLine("文件名稱=" + info.FileName);
            Console.WriteLine("產品名稱=" + info.ProductName);
            Console.WriteLine("公司名稱=" + info.CompanyName);
            Console.WriteLine("文件版本=" + info.FileVersion);
            Console.WriteLine("產品版本=" + info.ProductVersion);
            // 一般版本號顯示爲「主版本號.次版本號.生成號.專用部件號」
            Console.WriteLine("系統顯示文件版本:" + info.ProductMajorPart + '.' + info.ProductMinorPart + '.' + info.ProductBuildPart + '.' + info.ProductPrivatePart);
            Console.WriteLine("文件說明=" + info.FileDescription);
            Console.WriteLine("文件語言=" + info.Language);
            Console.WriteLine("原始文件名稱=" + info.OriginalFilename);
            Console.WriteLine("文件版權=" + info.LegalCopyright);

            Console.WriteLine("文件大小=" + System.Math.Ceiling(fileInfo.Length / 1024.0) + " KB");
        }
        else
        {
            Console.WriteLine("指定的文件路徑不正確!");
        }
        // 末尾空一行
        Console.WriteLine();
    }
}

編譯並運行以上代碼程序,而後用鼠標把指定文件拖拽到該程序的DOS運行窗口中,便可獲取該文件的路徑,而後按回車鍵便可得到對應的文件詳細信息。以上面的可執行文件爲例,輸出結果以下:

使用上述C#程序代碼得到的文件詳細信息ui

注意:如上圖所示,Windows操做系統中顯示的文件版本"2.0.0.835"並非直接顯示FileVersionInfo.FileVersion的屬性值,而是顯示的"主版本號.次版本號.生成號.專用部件號",即上面代碼中的info.ProductMajorPart + '.' + info.ProductMinorPart + '.' + info.ProductBuildPart + '.' + info.ProductPrivatePart

相關文章
相關標籤/搜索