Ordner per Batch löschen unter XP?

Hallo,

ich würde gerne mit einer einfachen Batch-Datei automatisch einen Ordner im Startmenü von Windwos XP löschen, der sich dort immer beim Starten eines Programms wiederherstellt.

c:
cd\
cd Dokume~1\Jost\Startm~1\Progra~1
del/s/f Zubehör

Diese Batch-Datei wird beim manuellen Start im DOS-Fenster korrekt abgefragt. „Möchten Sie wirklich den Ordner löschen?“ Nur bleibt der Ordner leider da, wenn man „Y“ drückt.

Liegt das vielleicht am NTFS-Dateisystem, auf das DOS nicht zugreifen kann? Wenn ja, wie gibt es für mich eine Möglichkeit, diesen Ordner automatisch zu löschen? Vielleicht mit einem VisualBasic-Skript?

Das Skript soll von AutoIt gestartet werden.

Gruß, Jost

c:
cd\
cd Dokume~1\Jost\Startm~1\Progra~1
del/s/f Zubehör

Diese Batch-Datei wird beim manuellen Start im DOS-Fenster
korrekt abgefragt. „Möchten Sie wirklich den Ordner löschen?“
Nur bleibt der Ordner leider da, wenn man „Y“ drückt.

Hi Jost,
ich kenne xp nicht, hat das noch Dos? Aber du schriebst die Batch lief…?

Also bei win98 klappt wahrscheinlich folgende Batch

deltree „Dokumente\Jost\Startmenue\Programme\Zubehör“

Keine Ahnung was xp mit der Batch macht *g*

Dein Dokume~1\Jost\Startm~1\Progra~1 geht auch, aber grundsätzlich bei Batches Abkürzungen wie Progra~1 vorsichtig einsetzen. Noch heißt der zu löschende Ordner zum Beispiel ‚Programme‘, dos macht ‚Progra~1‘ daraus.
Kommt aber später noch ein Ordner ‚Program Files‘ dazu,
macht dos aus ‚Programme‘ ‚Progra~2‘ und du löscht dann den Ordner ‚Program Files‘ der nun ‚Progra~1‘ heißt!)
Gruß
Reinhard

Servus Jost

Hier liegt das Problem:

del/s/f Zubehör

Diese Batch-Datei wird beim manuellen Start im DOS-Fenster
korrekt abgefragt. „Möchten Sie wirklich den Ordner löschen?“
Nur bleibt der Ordner leider da, wenn man „Y“ drückt.

Der Befehl „del“ kann nur Dateien löschen, aber keine Ordner!

Wenn du stattdessen
rd /s Zubehör
verwendest, wird der Ordner „Zubehör“ und alle seine Unterordner gelöscht (mit nur 1 Nachfrage, nicht für jeden Unterordner).

MfG
Roland

Servus Reinhard

ich kenne xp nicht, hat das noch Dos? Aber du schriebst die
Batch lief…?

Ja, auch unter Windows XP gibt es noch ein DOS-Fenster.

Also bei win98 klappt wahrscheinlich folgende Batch
deltree „Dokumente\Jost\Startmenue\Programme\Zubehör“

Bei Win98 funktioniert das ganz sicher, aber bei WinNT, 2000 und XP gibt es keinen deltree Befehl mehr.
Dort ist stattdessen rd /s zu verwenden.

Dein Dokume~1\Jost\Startm~1\Progra~1 geht auch, aber
grundsätzlich bei Batches Abkürzungen wie Progra~1 vorsichtig
einsetzen. Noch heißt der zu löschende Ordner zum Beispiel
‚Programme‘, dos macht ‚Progra~1‘ daraus.
Kommt aber später noch ein Ordner ‚Program Files‘ dazu,
macht dos aus ‚Programme‘ ‚Progra~2‘ und du löscht dann den
Ordner ‚Program Files‘ der nun ‚Progra~1‘ heißt!)

Das halte ich für ein Gerücht!
Ich hab hier zwar kein WinXP, sondern nur Win2000 zum Testen, aber es wäre ein Skandal, wenn es bei WinXP anders wäre!
Bei Win2000 habe ich jedenfalls folgendes festgestellt:

  1. Ordner „Programme“ = „PROGRA~1“
  2. Ordner „Program Files“ angelegt … wurde zu „PROGRA~2“ !
    Es darf doch nicht sein, dass Windows bereits vergebene Kurznamen einfach ändert … eben damit es nicht zu solchen von dir geschilderten Problemen kommt!

MfG
Roland

wir haben da beide Recht :smile:
Hallo Roland,
danke für die kleine Info über dos bei xp.
Jetzt zu ‚Program~x‘ *g*
Du hast da recht, ich ging fälschlicherweise davon aus, dos sortiert Nicht8.3-Namen alphabetisch und vergibt dann die fortlaufenden Nummern.

Also ich habe ja von win98 aus sowieso ‚Program~1‘ und ‚Program~2‘ in C:, ich nehme an bei win2000 ähnlich, wenn nicht lege halt welche an, falls du es testen willst.
Dann habe ich drei weitere Verzeichnisse angelegt, programm1, programm2,programm3.

Das ergibt bei dir /ad

PROGRA~1 …Programme
PROGRA~2 …Program Files
PROGRA~3 …programm1
PROGRA~4 …programm2
PROGRA~5 …programm3

Nun lösche ich das Verzeichnis programm2 was ja Progra~4 entspricht:


PROGRA~1 …Programme
PROGRA~2 …Program Files
PROGRA~3 …programm1
PROGRA~5 …programm3

Sieht noch gut aus aber jetzt lege ich ein neues Verzeichnis programm7 an:


PROGRA~1 …Programme
PROGRA~2 …Program Files
PROGRA~3 …programm1
PROGRA~4 …programm7
PROGRA~5 …programm3

und jetzt lege ich wieder das verzeichnis programm2 an:

PROGRA~1 …Programme
PROGRA~2 …Program Files
PROGRA~3 …programm1
PROGRA~4 …programm7
PROGRA~5 …programm3
PROGRA~6 …programm2

Das heißt eine Batch die stur ‚Progra~4‘ löscht, kann unterschiedliche Verzeichnisse löschen, je nachdem wieviele Verzeichnisse zwischenzeitlich gelöscht wurden bzw dazukamen.
Gruß
Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Roland,

Der Befehl „del“ kann nur Dateien löschen, aber keine Ordner!

Wenn du stattdessen
rd /s Zubehör
verwendest, wird der Ordner „Zubehör“ und alle seine
Unterordner gelöscht (mit nur 1 Nachfrage, nicht für jeden
Unterordner).

Klappt leider trotzdem nicht. Manuell im DOS-Fenster klappt es schon, aber wenn ich exakt das gleiche in eine Batch-Datei schreibe, sagt er immer, er habe den Ordner nicht finden können. Der Ordner ist aber definitiv da und lässt sich ja auch manuell so löschen! Irgendwelche Ideen?

Gruß, Jost

c:
cd\
cd Dokumente und Einstellungen\Jost\Startmenü\Programme
rd /s/q Zubehör

Servus Jost

Leider fällt mir in diesem Fall nichts mehr dazu ein. :frowning:

Wenn es im DOS-Fenster manuell klappt, dann müsste es das normalerweise auch als Batch-Datei tun - und bei mir tut es das auch sowohl unter Win2000 als auch unter WinXP.

Ich kann leider keinen Grund erkennen, warum das bei dir anders ist.

MfG
Roland

Wenn du stattdessen
rd /s Zubehör
verwendest, wird der Ordner „Zubehör“ und alle seine
Unterordner gelöscht (mit nur 1 Nachfrage, nicht für jeden
Unterordner).

Klappt leider trotzdem nicht. Manuell im DOS-Fenster klappt es
schon, aber wenn ich exakt das gleiche in eine Batch-Datei
schreibe, sagt er immer, er habe den Ordner nicht finden
können. Der Ordner ist aber definitiv da und lässt sich ja
auch manuell so löschen! Irgendwelche Ideen?

c:
cd\
cd Dokumente und Einstellungen\Jost\Startmenü\Programme
rd /s/q Zubehör

Problem gelöst!
Folgendes hat man mir in einer Newsgroup gepostet. Das hat das Problem gelöst:

[Zitat]
Probiere es mal so:

c:
cd\
cd „Dokumente und Einstellungen\Jost\Startm~1\Programme“
rd /s/q zubehr~1

Erklärung: Windows übergibt das „ü“ in „Startmenü“ und das „ö“ aus „Zubehör“
als ANSI-Zeichen, von der DOS-Console werden diese Sonderzeichen aber als
ASCII-Zeichen interpretiert.

[Mit „dir /x“ kannst du dir in einer DOS-Box die Dateinamen im 8.3-Format
anzeigen lassen]
[Zitat Ende]

Gruß, Jost

1 Like