Ordner löschen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von apfel87.

    Ordner löschen

    Hallo Zusammen,

    ich bin neu hier ;)

    Habe auch grade erst so wirklich angefangen mit VB, stoße aber schon auf ein Problem.

    So banal die Überschrift auch klingt, klappt es bei mir nicht bei allen Ordnern.

    Ich habe mir teilweise auch Ideen hier aus dem Forum geholt die funktionieren nur Stoß ich bei Profilordnern auf ein Problem.

    Ich will die Benutzerprofildaten löschen (AppData, Kontakte, Gespeicherte Spiele etc.). Per Hand kein Problem, mit VB kommt eine Fehlermeldung.

    Mein Code:

    System.IO.Directory.Delete(Profilpfad + Username, True)

    Profilpfad und Username sind in dem Falle Variablen.

    Fehlermeldung ist im Anhang.

    Jemand eine Idee warum es nicht funktioniert? ?(

    Vielen Dank für eure Unterstützung

    *Topic verschoben*
    Dateien
    • Fehler.txt

      (5,31 kB, 100 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    @apfel87 Willkommen im Forum. :thumbup:
    Das ist ein besonderer System-Pfad, der wird vom System festgehalten.
    Reicht es Dir, wenn Du dessen Inhalt löschst?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Du musst bei einem Ordner auch immer darauf achten die Dateien, die sich in diesem Ordner befinden zu löschen!
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    @RodFromGermany
    Vielen Dank!
    Nein das reicht leider nicht. Ich muss die ganze Ordner (Dokuemten, Musik, Videos etc) löschen.

    @Cheffboss
    Die Anwendung muss sowieso als Administrator gestartet werden da sonst auch andere Sachen nicht funktionieren. Sowohl als normaler als auch als Administrator kommt die Fehlermeldung.

    @SystemException
    Die Ordner sind leer. Ich habe es getestet in dem ich ein ganz neues Profil habe erstellen lassen.
    Schick mal bitte explizit welche Ordner du genau löschen willst.
    Ich will die Benutzerprofildaten löschen (AppData, Kontakte, Gespeicherte Spiele etc.). Per Hand kein Problem, mit VB kommt eine Fehlermeldung.


    Ich verstehe das so, dass du %appData%, also den Ordner, löschen willst. Ich kann mir vorstellen, dass, weil dieser eben ein System Ordner ist, nicht gelöscht werden darf von Anwendungen.
    Nur eine Theorie :)

    LG
    Bitte benutze OPTION STRICT ON.
    Und optional OPTION EXPLICIT ON.
    Hier ein CODE-CONVERTER.

    Suchanfragen-Ansatz für GOOGLE.
    Prüfe deinen Beitrag in einer RECHTSCHREIBPRÜFUNG.

    %AppData% soll unter anderem gelöscht werden.

    Beim manuellen löschen fragt das System bei dem Ordner nochmal nach ob unwiderruflich gelöscht werden soll. Das habe ich aber so verstanden, dass ich das mit "True" am Ende lösen würde.

    Ich habe jetzt den Appdata Ordner manuell gelöscht. Anschließend wollte ich über das Programm dann die Ordner Kontake etc. löschen. Wieder die Fehlermeldung.

    Der Benutzer ist nicht angemeldet.
    Die Dateien sind nicht im Zugriff (Manuelles löschen funktioniert)
    Keine Nachfrage ob wirklich gelöscht werden soll
    Es sind keine Dateien in dem Ordner.

    Ich verstehe halt nicht wo der Unterschied zu einem normalen Ordner ist. Die Attribute sind gleich ?(

    Nachtrag: Habe jetzt alles gelöscht bis auf Appdata und dann das Programm ausgeführt. Dann blockiert der folgende Ordner: AppData\Roaming\Microsoft\Internet Explorer\Quick Lunch

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „apfel87“ ()

    apfel87 schrieb:

    das Programm
    macht genau was???
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Die Frage ist warum löscht man solche Ordner?
    Will ja nichts unterstellen klingt für mich aber mehr nach 'ich mach mal nen so nen vb Script das bei den Freunden coolness erhöht weil sachen gelöscht werden'

    Im Normalfall werden in dem Ordner appdata wie der Name schon sagt Daten von Programmen gespeichert seien es setting oder andere Dinge.

    Deshalb wäre es schön wenn du uns sagst was das ganze bezwecken soll und wir dich dann vielleicht auf den richtigen Weg bringen können ohne das du so Ordner einfach löscht vor allem ohne Abfrage ob man das wirklich möchte.
    Grüße , xChRoNiKx

    Nützliche Links:
    Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
    Ich möchte jetzt nicht grundsätzlich böse Absicht unterstellen.
    Bei Firmenrechnern, die in einer Domäne hängen, wird von jedem Benutzer, der sich irgendwann mal auf diesem Rechner in das System einloggt, das Serverprofil auf die Systemplatte kopiert (Stichwort Roaming).

    Bei Rechnern, die (intern) öffentlich rumstehen, kann das schon mal eine Flut an toten Benutzerprofilen erzeugen.
    Aber dafür gibt's DelProf bzw. DelProf2 und wer will, kann sich das sogar mit dem DelProf GUI verschönern.

    Und wenn man nicht sehr genau weiß, was man tut, sollte man das keinesfalls mit einem handgebastelten Progrämmchen erledigen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Okay ich führe das gaze dann mal etwas aus...

    Das Programm ist quasi vergleichbar mit einem Werkzeugkasten. Soll allerdings für die Arbeit sein und nicht für Freunde zum angeben.

    Man gibt den Rechnernamen ein und kann sich sofort per Button über RDP aufschalten, Ping senden etc.
    Das funktioniert auch alles im großen und ganzen.

    Ich verfolge keine bösen absichten, sondern will mir nur das leben vereinfachen.

    Bei Firmenrechnern, die in einer Domäne hängen, wird von jedem Benutzer, der sich irgendwann mal auf diesem Rechner in das System einloggt, das Serverprofil auf die Systemplatte kopiert (Stichwort Roaming).

    Besser hätte ich es nicht schreiben können. Wenn ein Benutzer ein Problem hat setzen wir auch gerne mal das Profil zurück.

    Und wenn man nicht sehr genau weiß, was man tut, sollte man das keinesfalls mit einem handgebastelten Progrämmchen erledigen.

    Diese Aussage vertrete ich ebenfalls, deshalb frage ich ja hier nach.... Rein das Prinzip mach aus 20 Klicks einen Klick.

    Wie gesagt, keine bösen absichten. Nur Faulheit und eigenes Interesse.