Probleme beim Verzeichnis löschen



  • Hallo zusammen,

    ich habe ein Problem bei dem ich echt nicht mehr weiter weiß! Folgende Situation:

    - mein Programm legt verschiedene Verzeichnisse an und speichert Daten dort hinein. Später müssen diese Verzeichnisse wieder komplett gelöscht werden. Die Verzeichnisse sehen wie folgt aus (als Beispiel)

    c:\temp\233477898_dir
    c:\temp\233498789_dir
    c:\temp\233443211_dir
    c:\temp\233418654_dir
    c:\temp\233434790_dir
    

    Die Daten werden z.T. parallel in die Verzeichnisse kopiert. Das Problem ist jetzt folgendes. Nehmen wir an ich will das erste dieser Verzeichnisse löschen, zur gleichen Zeit werden in den anderen 4 Verzeichnissen aber noch Daten gespeichert. Dann löscht mein Programm zwar auch das erste Verzeichnis, zusätzlich löscht er aber auch in den anderen Verzeichnisses die Daten.

    Das Phänomen tritt auf wenn ich die Verzeichnisse per API Funktion lösche aber auch wenn ich es per DOS-Aufruf (mit "rd") versuche.
    Ich mach also z.B. einen Aufruf

    system("rd c:\temp\233477898_dir /s /q")
    

    und er löscht mir auch Daten aus den anderen Verzeichnissen. Das kann doch normal gar nicht gehen.

    Das Löschen ansich passiert in einem Thread, den ich wiederum aus einem anderen Thread starte, den ich mit

    new DeleteDir(AnsiString zuLöschendesVerzeichnis)
    

    aufrufe. In dem Thread DeleteDir steht dann auch nur die API Funktion oder halt der DOS Aufruf. Mehr nicht.

    Ich stehe das echt auf dem Schlauch was da falsch läuft. Wäre toll wenn mir jemand helfen könnte.

    Vielen Dank!



  • sollte das nicht besser so sein:

    system("rd c:\\temp\\233477898_dir /s /q")

    ???

    Sonst interpretiert der das anders, nicht als Baum! 😉



  • Sorry da hab ich mich nur im Post verschrieben!
    Ich Programm habe ich es mit "//".

    Das ist also nicht das Problem!



  • Progrst Du unter UNIX???

    PS: da isses wohl "//" in Pfaden



  • Ne, ich progge unter Windows XP bzw. 2000


Anmelden zum Antworten