Zon-cpp Ответов: 1

Получить версию с помощью командной строки


Привет , как написать версию файла в текстовом файле, с помощью пакетного файла?

Что я уже пробовал:

есть пакетный файл, который записывает версию указанного файла в текстовый файл.

CHill60

Ожидаете ли вы, что пакетный файл запросит у файла его версию? Что это за файл и как хранится номер версии?

Zon-cpp

Это файл. dll, который был создан C# , и его версия была определена в AssemblyInfo. cs

1 Ответов

Рейтинг:
10

Jochen Arndt

На этот вопрос было бы трудно ответить любому, кто не видел вашего предыдущего вопроса Как узнать версию DLL во время компиляции?[^]

Пример использования sigcheck утилита из пакета SysInternals:

@ECHO off
REM Specify source directory of your project here
SET outputdir=c:\projects\myproject\
REM Execute sigcheck to print only file version and redirect to a temp file
path-to-sigcheck\sigcheck -n -q path-to-dll >%outputdir%temp.txt
REM Get file content into a variable
SET /p FILEVER=<%outputdir%temp.txt
REM Create header file
ECHO #pragma once > %outputdir%dll_ver.h
ECHO #define MY_DLL_VERSION _T("%FILEVER%") >> %outputdir%dll_ver.h
REM Uncomment to show the created file
REM type %outputdir%dll_ver.h

[РЕДАКТИРОВАТЬ]
Добавлено _T() макрос к строке, напечатанной в заголовочном файле.
[/РЕДАКТИРОВАТЬ]


Zon-cpp

Я хочу получить версию "моего файла" в CustomBuildStep моего проекта и записать ее в текстовый файл. затем в окне о программе покажите этот текстовый файл как версию моего файла.

Jochen Arndt

Сначала вам нужна утилита, чтобы получить версию из файла.
Я использовал sigcheck в моем примере.
Пример записывает выходные данные в текстовый файл (temp.txt в моем примере).

Затем он создает файл заголовка dllver.ч Я сделал это потому, что он может быть включен в ваш исходный файл (#include "dll_ver.h"). Там вы можете использовать строку MY_DLL_VERSION для создания строки, которая будет отображаться в диалоговом окне.

Сохраните файл примера с помощью .летучая мышь расширение и выполнить его как пользовательский шаг сборки.

Zon-cpp

Спасибо, это то, чего я хочу.
Но как мне получить утилиты" sigcheck"?

Jochen Arndt

По ссылке в моем предыдущем ответе:
https://technet.microsoft.com/en-us/sysinternals/bb897441.aspx