当前位置: 首页 > 代码分享 > C#获取文件版本、文件大小等信息

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#程序代码获得的文件详细信息使用上述C#程序代码获得的文件详细信息

注意:如上图所示,Windows操作系统中显示的文件版本"2.0.0.835"并不是直接显示FileVersionInfo.FileVersion的属性值,而是显示的"主版本号.次版本号.生成号.专用部件号",即上面代码中的info.ProductMajorPart + '.' + info.ProductMinorPart + '.' + info.ProductBuildPart + '.' + info.ProductPrivatePart

18 2
我们认为: 用户的主要目的,是为了获取有用的信息,而不是来点击广告的。因此本站将竭力做好内容,并将广告和内容进行分离,确保所有广告不会影响到用户的正常阅读体验。用户仅凭个人意愿和兴趣爱好点击广告。
我们坚信:只有给用户带来价值,用户才会给我们以回报。
CodePlayer技术交流群1CodePlayer技术交流群1

帮朋友打一个硬广告:

P2P网贷系统(Java版本) 新年低价大促销,多年P2P技术积累,系统功能完善(可按需定制,可支持第三方存管、银行存管),架构稳定灵活、性能优异、二次开发快速简单。 另可提供二次开发、安装部署、售后维护、安全培训等一条龙服务。

外行看热闹,内行看门道。可以自信地认为,在系统设计上,比市面上的晓风、迪蒙、方维、绿麻雀、国融信、金和盛等P2P系统要好。
深圳地区支持自带技术人员现场考察源代码、了解主要技术架构,货比三家,再决定是否购买。

也可推荐他人购买,一旦完全成交,推荐人可获得实际售价 10% 的返现。
有意向者,详情请 点击这里 联系,工作时间立即回复。