Ich benutze Windows.
Ich möchte alle Dateien und Ordner in einem Ordner per Systemaufruf löschen.
Ich kann so nennen:
>rd /s /q c:\destination
>md c:\destination
Kennst du einen einfacheren Weg?
windows
batch-file
Ufukgun
quelle
quelle
Antworten:
Nein, ich kenne keinen.
Wenn Sie das ursprüngliche Verzeichnis aus irgendeinem Grund (ACLs usw.) beibehalten und stattdessen wirklich leeren möchten, können Sie Folgendes tun:
Dadurch werden zuerst alle Dateien aus dem Verzeichnis entfernt und anschließend alle verschachtelten Verzeichnisse rekursiv entfernt. Insgesamt bleibt das Verzeichnis der obersten Ebene jedoch unverändert (mit Ausnahme seines Inhalts).
Beachten Sie, dass Sie innerhalb einer Batchdatei die Anzahl
%
innerhalb derfor
Schleife verdoppeln müssen :quelle
destination
durch den Pfad und verwenden gegebenenfalls Anführungszeichen um das Ganze.del c:\destination\*.* /s /q
arbeitete für mich. Ich hoffe das funktioniert auch bei dir.quelle
del *.*
del "../../server/front-end\*.*"
Ich denke, der einfachste Weg, dies zu tun, ist:
Das letzte "\" im Pfad ist der wichtige Teil.
quelle
mkdir C:\FolderToNotToDelete
war genug für mich :)Ja! Verwenden Sie Powershell:
quelle
Wenn die Unterordnernamen Leerzeichen enthalten können, müssen Sie sie in Anführungszeichen setzen. Das folgende Beispiel zeigt dies für Befehle, die in einer Batchdatei verwendet werden.
quelle
So löschen Sie eine Datei:
So löschen Sie einen Ordner mit allen darin enthaltenen Dateien:
Das Löschen aller Dateien aus einem bestimmten Ordner (nicht das Löschen des Ordners selbst) ist etwas kompliziert.
del /s *.*
Ordner können nicht gelöscht werden, entfernt jedoch Dateien aus allen Unterordnern. Es werden also zwei Befehle benötigt:Sie können ein Skript erstellen, um alles, was Sie wollen (Ordner oder Datei), wie folgt zu löschen
mydel.bat
:Einige Anwendungsbeispiele:
quelle
Eine einfache einzeilige Option besteht darin, irgendwo in Ihrem Dateisystem ein leeres Verzeichnis zu erstellen und dann mit dem Schalter
ROBOCOPY
( http://technet.microsoft.com/en-us/library/cc733145.aspx )/MIR
alle Dateien und zu entfernen Unterordner. Standardmäßig kopiert Robocopy die Sicherheit nicht, daher sollten die ACLs in Ihrem Stammordner intakt bleiben.Wahrscheinlich möchten Sie auch einen Wert für den Wiederholungsschalter festlegen
/r
, da die Standardanzahl der Wiederholungsversuche 1 Million beträgt.quelle
Ich hatte einen Indexordner mit 33 Ordnern, in denen alle Dateien und Unterordner entfernt werden mussten. Ich habe eine Befehlszeile im Indexordner geöffnet und dann die folgenden Befehle verwendet:
Ich habe sie in zwei Zeilen unterteilt (drücken Sie die Eingabetaste nach der ersten Zeile und wenn Sie nach mehr gefragt werden, fügen Sie die zweite Zeile hinzu), da dies bei einer Eingabe in einer einzelnen Zeile möglicherweise nicht funktioniert. Dieser Befehl löscht jedes Verzeichnis und erstellt dann ein neues, das leer ist. Dadurch werden alle Dateien und Unterblätter im ursprünglichen Verzeichnis entfernt.
quelle
Navigieren Sie zum übergeordneten Verzeichnis
Zeile 1 drückte "Elternverzeichnis"
Löschen Sie die Unterordner
Zeile 2 rd / s / q. 2> nul
/superuser/173859/how-can-i-delete-all-files-subfolders-in-a-given-folder-via-the-command-prompt
quelle
pushd
, müssen Sie auch verwendenpopd
. Funktioniert leiderpopd
nicht, wenn Sie das Verzeichnis löschen. Also musst ducd
stattdessen tunpushd
.Es dauert 2 einfache Schritte. [/ q bedeutet leise, / f bedeutet gezwungen, / s bedeutet subdir]
Leeren Sie das zu entfernende Verzeichnis
Entfernen Sie das Verzeichnis
quelle
Versuchen Sie dies, dies durchsucht alle MyFolder unter dem Stammverzeichnis und löscht alle Ordner mit dem Namen MyFolder
quelle