Problem mit löschen von verzeichnissen



  • Hallo Leute
    ich hab eigentlich kaum ein plan von c++ aber hab jetzt ne aufgabe bekommen die ich nicht lösen kann ohne einen befehl den vielleicht einer von euch kennt.

    Ich brauch einen Befehl zum löschen von verzeichnissen bei dem man auch * oder ? benutze kann. Also wenn ich die verzeichnisse 1.1 1.2 und 2.1 habe aber nur 1.1 und 1.2 löschen will sollte es irgendwie so aussehen:

    "der befehl den ich nich kenne^^" ("c:\\1.*");

    falls ihr nich versteht was ich meine sagt es mir einfach^^

    danke schonmal



  • google... einfach mal google benutzen 🙄

    http://msdn.microsoft.com/en-us/library/bb762164.aspx



  • sry aber damit kom ich nich klar...wie müsste der quellcode denn jetzt dafür aussehen?



  • Ich würde es etwa so machen:

    CFile file_del;	
    	CString strFilename=_T("c:\\*.*");
    	CFileFind finder;
    	BOOL bWorking = finder.FindFile(strFilename);
    	while (bWorking)
    	{
    		bWorking = finder.FindNextFile();
    		if (finder.IsDots())
    		    continue;
    		if (finder.IsDirectory())
    		    continue;
    
    		strFilename=finder.GetFilePath();
    		file_del.Remove(strFilename);
    	}
    


  • Tester2 schrieb:

    Ich würde es etwa so machen:

    CFile file_del;	
    	CString strFilename=_T("c:\\*.*");
    	CFileFind finder;
    	BOOL bWorking = finder.FindFile(strFilename);
    	while (bWorking)
    	{
    		bWorking = finder.FindNextFile();
    		if (finder.IsDots())
    		    continue;
    		if (finder.IsDirectory())
    		    continue;
    		
    		strFilename=finder.GetFilePath();
    		file_del.Remove(strFilename);
    	}
    

    tommek.g wollte Verzeichnisse löschen, dieser code löscht aber nur alle Dateien in C:\.

    Falls ein Verzeichnis dem filespec entspricht muß dieses rekursiv durchlaufen werden und zuerst alle darin enthaltenen Dateien gelöscht werden. Dann können (auf dem "Rückweg") die Verzeichnissse mit RemoveDirectory gelöscht werden.

    RemoveDirectory only operates on empty directories. If the directory is not empty, an application must first use FindFirstFile, FindNextFile, RemoveDirectory and DeleteFile to recursively enumerate and delete the files and subdirectories inside the directory.

    http://msdn.microsoft.com/en-us/library/ms891470.aspx


Anmelden zum Antworten