Exe check oder so?

Viper2009

Erfahrenes Mitglied
Hallo, wollte mal wieder was wissen und frage euch um rat. :)
Entschuldigt für die Überschrift mir viel nichts ein wie man es nennen kann.

Habe eine .exe nennen wir sie mal server.exe die eine config datei läd nun möchte ich mehrere server.exe starten, mit anderen Einstellungen.
Also dachte ich mir das ich diese server.exe einfach in server_1.exe und server_... ändere diese sollen dann aber auch die config_1 und config_... laden.
Ich würde es gerne dann mit "_Zahl" machen.
Hat jemand eine gute Idee wie ich dies realisieren kann

MFG Viper

//edit: Vergessen Programm wird in C programmiert.
 
Zuletzt bearbeitet:
Hallo,

die "server.exe" würde ich nicht verändern; es ist ja kein Problem, mehrere Instanzen davon zu starten. Die unterschiedlichen Konfigurationen könntest du über einen Kommandozeilenparameter steuern, der beim Start mitgegeben wird. Ohne bedeutet dann "config", "1" bedeutet "config_1", "2" bedeutet "config_2" usw.

Gruß
MCoder
 
Mhh ja schon aber es ist doch übersichtlicher wenn davor _1 steht, damit man ihn auch neu starten kann. Aber wie ist der Befehl dazu, weil das ist mein Problem.
 
Hallo,

wenn du die EXEs alle anders benennst, brauchst du auch keinen extra Parameter zu übergeben. Der Programmpfad steht nämlich automatisch immer im ersten Parameter. Damit kannst du anhand des Programmnamens das passende Config-File ermitteln:
C++:
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main(int argc, char *argv[])
{
    char number = argv[0][strlen(argv[0]) - 5];

    char configName[256];

    if( isdigit(number) )
    {
        sprintf(configName, "config_%c", number);
    }
    else
    {
        strcpy(configName, "config");
    }

    // ...
        
    return 0;
}
Gruß
MCoder
 
Oder du könntest dir für jede gestartete server.exe eine .bat Datei erstellen, oder auch nur
eine, die diese mit verschiedenen Argumenten, so offt ausführt wie du möchtest.

Zum bleistifft start.bat:
Code:
start server.exe configfile1.txt
start server.exe configfile2.txt
start server.exe configfile3.txt
start server.exe configfile4.txt
start server.exe configfile5.txt

C++:
int main(int argc, char *argv[])
{
    if (argc < 2)
        return;

    argv[1]; // config file

    return 0;
}

Best wishes
FBIagent
 

Neue Beiträge

Zurück