cmd,找到带版本号的.exe

cmd, find .exe with version number

我有一个包含很多文件夹和可执行文件的文件夹,我想获取可执行文件及其版本号的列表。

我有几件事要处理:

Anything on windows 7
Cygwin
C#

示例

\folder\temp.exe
\folder\folder2\temp2.exe
\folder\folder3\temp3.exe

我希望我的结果是

temp.exe  Version 1.0.1.2
temp2.exe Version 4.45.6.7
temp3.exe Version 1.0.0.0

目前我正在使用此命令获取 .exe 列表,但我似乎无法获取版本号。

dir c:\temp\ /s | find ".exe"

您可以使用类似这样的方法来仅获取特定目录中的 exe 文件并获取版本信息:

DirectoryInfo di = new DirectoryInfo(path);
var files = di.GetFiles("*.exe");
foreach (var file in files)
{
    if (file != null)
    {
        var version = FileVersionInfo.GetVersionInfo(file.FullName).FileVersion;
        Console.WriteLine($"{file.Name} Version {version}");
    }
}