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#程序代码获得的文件详细信息
注意:如上图所示,Windows操作系统中显示的文件版本"2.0.0.835"并不是直接显示FileVersionInfo.FileVersion的属性值,而是显示的"主版本号.次版本号.生成号.专用部件号",即上面代码中的info.ProductMajorPart + '.' + info.ProductMinorPart + '.' + info.ProductBuildPart + '.' + info.ProductPrivatePart
C#获取文件版本、文件大小等信息的更多相关文章
- Powershell 获取文件版本信息
获取文件版本信息,通过FileVersionInfo::GetVersioninfo(file) 来获取信息 function Check-DdpstoreFileVersion{ $Ddpstore ...
- C#开发BIMFACE系列8 服务端API之获取文件上传状态信息
系列目录 [已更新最新开发文章,点击查看详细] 在BIMFACE控制台上传文件,上传过程及结束后它会自动告诉你文件的上传状态,目前有三种状态:uploading,success,failure ...
- stat(),lstat(),fstat() 获取文件/目录的相关信息
stat 的使用 Linux有个命令,ls -l,效果如下: 这个命令能显示文件的类型.操作权限.硬链接数量.属主.所属组.大小.修改时间.文件名.它是怎么获得这些信息的呢,请看下面的讲解. stat ...
- linux 获取文件系统信息(磁盘信息)
源代码例如以下: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <s ...
- C#获取文件版本信息
使用FileVersionInfo获取版本信息 FileVersionInfo info = FileVersionInfo.GetVersionInfo(Application.Current.St ...
- WIN32 API 获取文件版本信息
CString strVersion; CString strPath(_T("xxxxxxxx.exe")); // 读文件信息 DWORD dwVerHnd = 0; DWOR ...
- win32api 获取文件版本信息
#coding:utf-8 myPath="C:\\ime" import os from win32api import GetFileVersionInfo, LOWORD, ...
- SharePoint online 获取文件版本记录
endpoint: _api/web/GetFileByServerRelativeUrl('/allDoc/xxx.pdf')/Versions 问题: 第一次使用,无论在本地还是o365上,都只返 ...
- C# 获取文件版本
var versionInfo = FileVersionInfo.GetVersionInfo(filePath); String productVersion = versionInfo.Prod ...
随机推荐
- 551. Student Attendance Record I
static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }(); class Solution { publ ...
- 2018.08.31 bzoj1419 Red is good(期望dp)
描述 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付 出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. 输入 一行输入两个数R,B,其 ...
- BeanUtils.populate的方法的作用
BeanUtils位于org.apache.commons.beanutils.BeanUtils下面,其方法populate的作用解释如下: 完整方法: BeanUtils.populate( Ob ...
- Map的常用操作
public static void main(String[] args) { Map<String, String> map = new HashMap<>(); map. ...
- 创建template模板
创建一个自己常用的快捷键的模板. 1.选择window-->preferrence--搜索temp--java 2.点击new 3.根据自己的习惯起一个名字 4.比如syso 5.语法不会,就找 ...
- StackView实现叠加在一起的图片循环移动像循环队列一样
MainActivity.java public class MainActivity extends Activity { StackView stackView; int[] imageIds ...
- HDU2577 How to Type 2016-09-11 14:05 29人阅读 评论(0) 收藏
How to Type Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- hdu 4982 贪心构造序列
http://acm.hdu.edu.cn/showproblem.php?pid=4982 给定n和k,求一个包含k个不相同正整数的集合,要求元素之和为n,并且其中k-1的元素的和为完全平方数 枚举 ...
- Jack Clark 的几句名言
Grateful for everything; entitled to nothing. 沒有任何事情是你不该感激的:沒有任何东西是你该派得到的. Leadership is the ability ...
- VLC简介及使用说明
一.简介 VLC的全名是Video Lan Client,是一个开源的.跨平台的视频播放器.VLC支持大量的音视频传输.封装和编码格式,完整的功能特性列表可以在这里获得http://www.vi ...