Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ordner löschen per VBA

Ordner löschen per VBA
03.01.2023 08:36:18
Gerd
Hallo zusammen,
ich habe ein Problem, das mit Excel nicht direkt etwas zu tun hat.
Zur Erklärung: Unter C:\Users\Name\Downloads habe ich einen Ordner, dessen Name zu lang ist (mehr als 260 Zeichen), was dank Windows dazu führt, dass ich den Ordner weder löschen, umbenennen oder verschieben kann. Alle mir bekannten Bereinigungstools finden den Ordner zwar, können aber nicht darauf zugreifen. Auch per Eingabeaufforderungen bzw. Powershell kann er nicht entfernt werden.
Meine Idee ist nun, dass ich aus einer beliebigen Excel-Datei ein Makro starte, das den Ordner löscht oder vielleicht besser, meinen Download-Ordner komplett leert. Ich weiß nicht, ob das funktionieren könnte, aber falls das geht, wie müsste so ein Makro aussehen? Meine VBA-Kenntnisse beschränken sich auf „Makro aufzeichnen“. Deshalb wäre ich dankbar für einen Code und die Anweisung, wie und wo der einzubauen ist.
Besten Dank im Voraus
Gerd

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ordner löschen per VBA
03.01.2023 10:10:25
Gerd
Danke für die Rückmeldung. Aber mir fehlt scheinbar das Verständnis, das umzusetzen.
Ich habe mir eine Datei Ordnerloeschen.xlsm angelegt und in Modul1 den Code wie im Beispiel 2 eingegeben:

Sub Ordnerloeschen()
Kill "C:\Users\Name\Downloads\*"
End 

Sub
Ich erhalte einen Laufzeitfehler 53 und "Datei nicht gefunden". Sorry für meine Ahnungslosigkeit. Was genau müsste ich tun?
Gerd

AW: Ordner löschen per VBA
03.01.2023 11:24:14
Dieteer(Drummer)
Hallo Gerd,
da hast du ein Anführungszeichen vergessen: Sub Ordnerloeschen()
Kill "C:\Users\Name\Downloads\"*"
End
Hoffe es hilft :-).
Gruß, Dieter(Drummer)
Anzeige
AW: Ordner löschen per VBA
03.01.2023 11:30:30
Gerd
Hallo Dieter,
mit Anführungsstriche kommt die Fehlermeldung "Typen unverträglich"
Beste Grüße
Gerd
AW: Ordner löschen per VBA
03.01.2023 10:55:21
Franziska
Hallo Gerd,
wie wäre es mit dem Kommandozeilenbefehl "cmd" über Windows-Logo-Taste + R, dann Deine Eingabe mit " C:\Users\Name\Downloads\hier den Ordnernamen eintragen " und dann Enter und mit Ja bestätigen. So kann man jeden Ordner löschen. Ob das mit VBA geht, weiß ich nicht.
schöne Woche noch
Franziska
AW: Ordner löschen per VBA
03.01.2023 11:02:17
Gerd
Hallo Franziska,
danke für den Hinweis.
Wenn es so einfach wäre, würde ich nicht nach einem Umweg suchen. Der Ordnername ist zu lang, Windows ist da zickig. Deshalb kam mir die Idee über VBA.
beste Grüße
Gerd
Anzeige
AW: Ordner löschen per VBA
03.01.2023 11:40:50
Gerd
hallo Franziska,
die Seite kenne ich, das hatte ich schon probiert. Leider funktioniert das nicht. Auch rm oder rmdir funktionieren nicht, ebenso wenig wie diverse "Aufräumtools" wie CCleaner & Co.
Schöne Grüße
Gerd
AW: Ordner löschen per VBA
03.01.2023 13:14:27
Anton
Hallo Gerd,
du kannst versuchen den langen Pfad mit dem cmd-Befehl subst trennen und dann den Ordner löschen.
mfg Anton
Anzeige
AW: Ordner löschen per VBA
03.01.2023 13:32:02
Gerd
Hallo zusammen,
Ich habe einen einfachen Code gefunden:

Sub Ordnerloeschen()
ChDir "C:\Users\Name\Downloads\testordner\"
RmDir "C:\Users\Name\Downloads\testordner\"
End Sub
Den Testordner kann ich damit löschen, den Ordner mit dem zu langen Namen aber nicht (Meldung: Pfad nicht gefunden).
Soll es denn tatsächlich keine Möglichkeit geben, einen Ordner mit zu langem Namen zu löschen?
Danke und Grüße
Gerd
AW: Ordner löschen per VBA
04.01.2023 19:28:03
Firmus
Hi Gerd,
Es steht nirgends wie der zu löschende Pfad genau aussieht.
Ich nehme an
a) der Pfadname auf einem Ordnerlevel ist größer 260 Bytes.
Dann muss ich auch passen
b) der Fullpath ist größer 260 Zeichen
Beispiel: "C:\Users\Name\Downloads\250-zeichen-langer-ordnername\"
In diesem Fall ist die "fullpath"-Länge größer 260 Zeichen.
getestete Lösung:
im CMD-prompt mit CD Level für Level in der Ordnerhierarchie weiter navigieren.
Wenn die Restlänge des Teils des fullpath kleiner 260 ist, kann per RD der Ordner gelöscht werden.
Ich habe nicht getestet, ob ich mehrere Levels mit einem RD löschen kann
Gruß,
Firmus
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige