[Batch/Bash] Produktversion auslesen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Blackb!rd, 2. September 2010 .

Schlagworte:
  1. 2. September 2010
    Produktversion auslesen

    Hey Leute,

    ist es möglich mit einem Batch-Script die "Produktversion" einer Datei auszulesen?Wenn ja wie?


    Gruß Blackbird89
     
  2. 2. September 2010
    AW: Produktversion auslesen

    Ohne zusatztool nicht. Entweder du nimmst die Powershell oder:
    Wie Sie Filever.exe-Tools, um bestimmte Informationen zu einer Datei in Windows zu erhalten
     
  3. 3. September 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Produktversion auslesen

    Hab dir mal das nötige PRogramm geschrieben. Du musst nur das Programm beilegen, aufrufen und ein String wird ausgeben, mit dem du dann arbeiten kannst.

    Code:
    #include <iostream>
    #include <windows.h>
    
    #pragma comment(lib, "Version.lib")
    
    DWORD dwToLE( DWORD dwBE ) {
     return (dwBE << 16) | (dwBE >> 16);
    }
    
    int main( int argc, char **argv ) {
     WCHAR fName[1024] = {0}; 
     WCHAR wcQuery[1024] = {0};
     WCHAR *wpProdVers = nullptr;
     char *cpBuffer = nullptr;
     DWORD dwSize = 0;
     UINT dwVLen = 0;
     DWORD *wLangCode = nullptr;
    
     if(argc != 2) {
     return -1;
     }
     
     fName[mbstowcs(fName, argv[1], strlen(argv[1]))] = '\0'; 
    
     dwSize = GetFileVersionInfoSize(fName, NULL);
     cpBuffer = new char [dwSize];
     memset(cpBuffer, 0, dwSize);
    
     if(GetFileVersionInfoW(fName, 0, dwSize, cpBuffer)) {
     VerQueryValueW(cpBuffer, L"\\VarFileInfo\\Translation", (LPVOID*)&wLangCode, &dwVLen);
     wsprintfW(wcQuery, L"\\StringFileInfo\\%08x\\FileVersion", dwToLE(*wLangCode));
     
     if(VerQueryValueW(cpBuffer, wcQuery, (LPVOID*)&wpProdVers, &dwVLen)) {
     std::wcout << wpProdVers;
     } else {
     std::cout << "0";
     }
     }
    
     if(cpBuffer != nullptr) {
     delete [] cpBuffer;
     }
    
     return 0;
    }
    
    
    Binary Download

    Sollte eigentlich so laufen, da ich alles nötige gegen gelinkt habe, ist es nicht so solltest du dir einfach die neusten VCRedist. x86 runterladen.

    Grüße.
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.