Wie kann die Dateiversion / Produktversion aus einer Datei in der Windows 7-Befehlszeile abgerufen werden, um sie in einer Variablen in einer .batDatei zu verwenden?
Wie kann die Dateiversion / Produktversion aus einer Datei in der Windows 7-Befehlszeile abgerufen werden, um sie in einer Variablen in einer .batDatei zu verwenden?
Antworten:
Nach meinem Verständnis benötigen Sie dazu filever.exe. Wie in den Kommentaren ausgeführt. Außerdem habe ich das Folgende Wort für Wort von hier gerissen
Nach dem, was ich über fileverdie Ausgabe erfahre, ist es immer in Spalten und Sie möchten die fünfte Spalte (Version). Ein einfaches forsollte also ausreichen:
for /f "tokens=5 delims= " %%v in ('filever myFile.dll /b') do echo %%v
Sie können überprüfen, sigcheck.exewelcher Teil der Sysinternals Suite ist , z
$ sigcheck.exe -q -n app.exe
5.0.0.1241
Durch Angabe -q(leise, kein Banner) -nwird nur die Versionsnummer der Datei angezeigt, sodass Sie diese der Variablen zuweisen können.
Wenn Sie Sigcheck64 verwenden, die für Nano Server bereitgestellte 64-Bit-Version , die keine 32-Bit-Programme unterstützt, wurde der -qParameter durch ersetzt -nobanner. Z.B
$ sigcheck.exe -nobanner -n app.exe
5.0.0.1241
Quelle: Was ist der Unterschied zwischen Sigcheck und Sigcheck64? und SigCheck Handbuchseite .