probleme ordner zu erstellen



  • hallo

    ich habe eine exe

    die tut errorlogs erstellen. ich will also in dem ordner in welchem meine exe ist erst nach einem errorlogs ordner suchen

    wenn dieser gefunden ist dann soll eine weitere error.txt datei darin gespecihert werden. wenn nicht vorhanden dann soll in dem gleichen ordner ein ordner namens errorlogs erstellt werden.

    mein prob ist

    ich erstelle immer den ornder und losche somit den anderen mit dem ganzen inhalt. hmmm was mach ich falsch.

    hier der code

    CString path = GetCommandLine(); 
    			int pos = path.ReverseFind( '\\'); 
    			path = path.Mid(1, pos-1);
    
    			CFileFind find; 
    			bool bWorking; 
    			CString Ordner; 
    			bWorking = find.FindFile(path); 
    
    			while(bWorking) 
    			{ 
    				bWorking = find.FindNextFile(); 
    				if(find.IsDirectory()) 
    				{ 
    					Ordner=find.GetFileName(); 
    					if(Ordner == "ErrorLogs")//name des ordners 
    					{ 
    
    					}
    					else
    					{
    
    						path = path + "\\ErrorLogs"; 
    						CreateDirectory(path, NULL);
    
    					}
    				} 
    			} 
    			find.Close();  
    
    //naher bestimme ich dann genau mit
    
    CString filename = path + "\\ErrorLog_" + time + ".txt";
    


  • Servus,

    ich habe einfach den komplizierten Kram von dir weggemacht. Brauchst du nicht zu machen suchst ja nur nach einen Verzeichnis.

    Fehler:
    - Du hast immer nur einmal gesucht und wenn das nicht geklappt hat, hat er direkt neu erstellt

    War noch was kann mich jetzt nicht mehr erinnern 😃

    CString path = GetCommandLine(); 
    int pos = path.ReverseFind( '\\'); 
    path = path.Mid(1, pos-1); 
    
    CFileFind find; 
    CString strDirFound;
    
    if(find.FindFile(path + "\\ErrorLogs"))
    {
    	//Was weiss ich sowas hier vielleicht:
    	path = path + "\\ErrorLogs"; 
    	//dann steht in path dein Dir zur Errorlogs
    }
    else
    {
    	path = path + "\\ErrorLogs"; 
    	CreateDirectory(path, NULL); 
    }
    find.Close();
    

    sollte funzen.
    Viel Spass

    *winke*
    Hellsgore



  • danke danke hat geklappt

    naja ich habe es so kompli. gemacht, da ich das so hier im forum oefters gefunden habe! mit dem bworking

    ich dachte auch weil es ja while(bWorking) heisst dann sucht er alle bis er findet, aber naja

    trozdem danke, ist jetzt vom code her schlanker und durchsichtiger.


Anmelden zum Antworten