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

来源:互联网 发布:全民枪战爆头挂软件 编辑:程序博客网 时间:2024/05/21 14:02

使用以下C#程序代码可以非常方便地获取Windows系统中任意一个文件(尤其是可执行文件)的文件版本、文件大小、版权、产品名称等信息。所获取到的信息类似于在Windows操作系统中右键点击该文件,然后点击【属性】-【详细信息】所看到的文件信息(Windows操作系统该界面上的文字信息不可复制)。

腾讯微云可执行文件显示的文件详细信息腾讯微云可执行文件显示的文件详细信息

详细C#程序代码如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. class Program
  6. {
  7.     static void Main(string[] args)
  8.     {
  9.         while (true)
  10.         {
  11.             Console.Write("请输入指定的文件路径(请拖拽文件到此处):");
  12.             string path = Console.ReadLine();
  13.             PrintFileVersionInfo(path);
  14.         }
  15.        
  16.     }
  17.     /// <summary>
  18.     /// 打印指定文件的详细信息
  19.     /// </summary>
  20.     /// <param name="path">指定文件的路径</param>
  21.     static void PrintFileVersionInfo(string path)
  22.     {
  23.         System.IO.FileInfo fileInfo = null;
  24.         try
  25.         {
  26.             fileInfo = new System.IO.FileInfo(path);
  27.         }
  28.         catch (Exception e)
  29.         {
  30.             Console.WriteLine(e.Message);
  31.             // 其他处理异常的代码
  32.         }
  33.         // 如果文件存在
  34.         if (fileInfo != null && fileInfo.Exists)
  35.         {
  36.             System.Diagnostics.FileVersionInfo info = System.Diagnostics.FileVersionInfo.GetVersionInfo(path);
  37.             Console.WriteLine("文件名称=" + info.FileName);
  38.             Console.WriteLine("产品名称=" + info.ProductName);
  39.             Console.WriteLine("公司名称=" + info.CompanyName);
  40.             Console.WriteLine("文件版本=" + info.FileVersion);
  41.             Console.WriteLine("产品版本=" + info.ProductVersion);
  42.             // 通常版本号显示为「主版本号.次版本号.生成号.专用部件号」
  43.             Console.WriteLine("系统显示文件版本:" + info.ProductMajorPart + '.' + info.ProductMinorPart + '.' + info.ProductBuildPart + '.' + info.ProductPrivatePart);
  44.             Console.WriteLine("文件说明=" + info.FileDescription);
  45.             Console.WriteLine("文件语言=" + info.Language);
  46.             Console.WriteLine("原始文件名称=" + info.OriginalFilename);
  47.             Console.WriteLine("文件版权=" + info.LegalCopyright);
  48.             Console.WriteLine("文件大小=" + System.Math.Ceiling(fileInfo.Length / 1024.0) + " KB");
  49.         }
  50.         else
  51.         {
  52.             Console.WriteLine("指定的文件路径不正确!");
  53.         }
  54.         // 末尾空一行
  55.         Console.WriteLine();
  56.     }
  57. }

编译并运行以上代码程序,然后用鼠标把指定文件拖拽到该程序的DOS运行窗口中,即可获取该文件的路径,然后按回车键即可获得对应的文件详细信息。以上面的可执行文件为例,输出结果如下:

使用上述C#程序代码获得的文件详细信息使用上述C#程序代码获得的文件详细信息

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

0 0
原创粉丝点击