programm schleife geblockt?



  • Hallo liebe Com,

    Bin dabei einen Algorythmus mit einem Programm, welches sich selbst, in bestimmte Ordner, kopiert und die Kopie startet, darzustellen.

    Nun bin ich auf ein Problem gestoßen:

    Das Programm kopiert sich in den richtigen Ordner der aus dem Verzeichnis ausgelesen wird.
    Jedoch kann die Kopie nicht mit der Schleife fortfahren.

    Sobald die Kopie gestartet wird, erstellt sie keine neuen Kopien.

    Habe bereits viel rumprobiert, c klappts nicht, mit cmd auch..

    Mein Betriebssystem ist Win 8..

    Gibt es bestimmte vorkehrungen die so eine Schleife nicht zulassen?

    Muss ich dem Programm Rechte geben? und wenn ja wie? 😕

    Würde mich über eine schnelle Antwort sehr freuen.



  • Aus deiner konfusen Beschreibung könnte man ableiten, dass du es mit Rekursion versuchst.
    Dabei sollte man immer "." und ".." ausschließen.
    Benutze die POSIX Funktionen opendir,readdir,closedir und präsentiere deine Code-Versuche hier, raten will hier niemand.



  • Hier ist der code, den Algorythmus-Teil habe ich entfernt..

    #include <stdio.h> 
    #include <stdlib.h> 
    #include <windows.h>
    
    int main()
    {
    	int ch;
    	int pos;
    
    	int i2=0;
        char exe[30];
    
    	char sbat[30] = "@echo off\nbeschreibenv0.exe";
        FILE *exep1, *exep2, *bat;
    
    	mkdir("izi");//Erstelle einen Ordner
    
    do
    	{
    
    	bat = fopen("izi\\echo.bat", "wb");
    	fprintf(bat,"%s",sbat);
    	fclose(bat);
    	sprintf(exe,"izi\\beschreibenv%i.exe",i2);	
    
    	exep1 = fopen("beschreibenv0.exe", "rb");
    
        exep2 = fopen(exe, "wb");
    
    	while((ch = fgetc(exep1)) != EOF)
      	fputc(ch, exep2);
    
        fclose(exep1);
        fclose(exep2);
    
    	i2++;
    	}
    
    while(i2 <= 0);
    
    ShellExecute(NULL, "open", "izi\\echo.bat", NULL, NULL, SW_SHOW);
    
    return 0;
    
    }
    


  • Edit: Vorsicht! Beim ausführen öffnet sich die echo.bat immer wieder



  • Windows-Gefrickel gehört ins Subforum WinAPI.



  • echo.bat:
    "@echo off\nbeschreibenv0.exe"

    soll nur die Kopie der Datei öffnen.

    hab das nur probiert weil es mit ShellExcute nicht geklappt hat.
    Kennt ihr da keinen Weg, um es zum laufen zu bringen?


Anmelden zum Antworten