per Batch einen Ordner leeren

Mydgard

Commander
Registriert
Sep. 2002
Beiträge
2.618
Hallo allerseits,


ich möchte ein Batchfile erstellen, welches ich über die geplante Task Funktion von XP regelmässig ausführen kann, damit er angefallene Dateien in einem Ordner löscht.

Da meine Dos Zeit schon laaaaaaange her ist, bin ich da ein wenig eingerostet:

delete.bat

cmd
c:
cd c:\temp (Beispielsordner)
del *.*
exit

So in etwa hab ich die erstellt, leider startet bisher nur das Dos-Fenster und nichts passiert, wenn man ihn von Hand an stubst quasi, dann kommt er bis zum Löschen Dialog den man von Hand mit (j/n) bestätigen soll. Das geht auch automatisch, ich weiß aber nicht mehr wie *gg*

Gib mir doch bitte jemand nen Tip, wie ich das hin bekomme. (del /? gibt mir zwar die zugehörige Hilfe aus, aber da steht nichts, wie man automatisch bestätigt!)

Falls jemand ne andere Lösung einfällt, wie man einen Ordner automatisch leeren kann, hör ich mir das auch gerne an.

Danke

Mydgard
 
War das nicht mit rmdir ?
Und für files war es doch rm..
Glaube mit rm kann man ihn dazu zwingen etwas zu löschen..
Schau dir die 2 Befehle doch mal an..

Sorry, ich hab gerade kein Windows zur Verfügung..
 
del C:\temp\*.*
geht doch

EDIT:
del /Q C:\temp\*.* löscht dann auch ohne Rückfrage.

--> Einfach in die bat.
 
Zuletzt bearbeitet:
C:\Windows\System32>del /?
Löscht eine oder mehrere Dateien.

DEL [/P] [/F] [/S] [/Q] [/A[[:]Attribute]] Namen
ERASE [/P] [/F] [/S] [/Q] [/A[[:]Attribute]] Namen

Namen Gibt eine Liste von Dateien oder Verzeichnissen an.
Platzhalter können verwendet werden, um mehrere Dateien zu
löschen. Wird ein Verzeichnis angegeben, werden alle Dateien
in diesem Verzeichnis gelöscht.
/P Fordert Sie vor dem Löschen jeder Datei zur Bestätigung auf.
/F Erzwingt das Löschen schreibgeschützter Dateien.
/S Löscht alle Dateien in allen Unterverzeichnissen.
/Q Keine Rückfrage bei Verwendung globaler Platzhalter.

/A Wählt die zu löschenden Dateien nach dem Attribut aus.
Attribute R Schreibgeschützte Dateien S Systemdateien
H Versteckte Dateien A Zu archivierende Dateien
I Nicht indizierte Dateien L Analysepunkte
- vorangestellt kehrt die Bedeutung um.

Wenn die Befehlserweiterungen aktiviert sind, werden DEL und ERASE
folgendermaßen verändert:

Die Anzeigesemantik für die /S-Option ist umgekehrt, so dass nur Dateien
angezeigt werden, die gelöscht wurden und nicht solche, die nicht
gefunden wurden.

C:\Windows\System32>
 
der gesuchte Befehl ist RM /S /Q, der Befehl DEL löscht nur die Dateien aber keine Ordner:
PHP:
Entfernt (löscht) ein Verzeichnis.

RMDIR [/S] [/Q] [Laufwerk:]Pfad
RD [/S] [/Q] [Laufwerk:]Pfad

    /S  Löscht alle Verzeichnisse und Dateien im angegebenen Verzeichnis
        zusätzlich zu dem Verzeichnis selbst. Wird verwendet, um ganze
        Verzeichnisbäume zu löschen.

    /Q  Keine Nachfrage, ob die Verzeichnisbäume mit /S entfernt werden
        sollen.
 
@echo off
Das dann in die erste Zeile. Und die batch Datei eventuell mit dem Start Befehl aufrufen.
Dort ist es dann auch möglich das programm minimiert und damit fast unsichtbar zu starten.
 
@ alle: erstmal danke für all die Antworten, es sollen aber wirklich nur Dateien in einem Ordner gelöscht werden, keine Unterordner.

Aber hab es jetzt hin bekommen, den ganzen klimbim den ich noch mit drin hatte, der störte nur und mußte weg!

Jetzt einfach nur noch:

@echo off
del /q c:\temp\*.*

Mehr nicht, damit werden alle Dateien da drin gelöscht. Das ganze kann man dann mit "geplanter Task" steuern wann es laufen soll.

Nochmals danke!
 
zB "C:\ProgramData\Application Data"

lässt sich nicht per rmdir /s /q (als Admin) löschen. Wie bekomme ich diesen "Schlossordner" weg?

Manuell geht es doch auch

edit:
Eventuell erst mit >
cacls "C:\Widerspenstiger Ordner" /E /G "Benutzername":F
übernehmen ?
 
Zuletzt bearbeitet:
Zurück
Oben