Ich versuche, Batch-Datei zu erstellen, die die folgenden tun:Batch-Datei-Ordner zu löschen, wenn sie bestimmte Datei enthält
- Es durch alle Unterordner in bestimmten Verzeichnis für bestimmte Datei scannen.
- Wenn Datei in Unterordner gefunden wird, werden alle Inhalte von dieser Unterordner und Unterordner selbst gelöscht.
Zum Beispiel kann die Datei, die ich suche ist „test.txt“ und Hauptordner ist „C: \ Test“ mit folgenden Struktur:
\A
\B with test.txt
\C
\C\C0
\C\C1
\C\C2 with test.txt
\D
\D\D0
\D\D1 with test.txt
\D\D1\D10
\D\D1\D11
Jeder Ordner einige andere zufälligen Dateien hat in es.
In diesem Beispiel Skript sollte folgende Ordner löschen und alle ihre Inhalte:
C:\Test\B
C:\Test\C\C2
C:\Test\D\D1
ich verschiedene Scripts versucht, aber ohne Erfolg.
erster Skript, das ich geprüft ist: Batch-Datei wird direkt in "\ Test \ C": platziert
for /R %%f in (test.txt) do @IF EXIST %%f @echo "%%f"
Es richtig einzigen Weg, um Ordner mit text.txt innen aufgeführt. Weil es funktionierte, habe ich versucht, auf folgende Arten nur Dateien für den Test zu löschen:
for /R %%f in (test.txt) do @IF EXIST %%f del /q /s /f "*.*"
Es gelöscht alle Dateien im Hauptordner und alle Unterordner in die Batch-Datei ist, zusammen mit Batch-Datei selbst.
Ich habe versucht, dann mehrere andere Skripte zu bearbeiten, um meine Bedingungen zu erfüllen, aber die Ergebnisse waren offensichtlich. Das Letzte, was ich schaffen konnte ist:
for /R %%p in (test.txt) do @IF EXIST %%p (rd "%%p" /s || del "*.*" /s/f)
I ommited hier „/ q“ Parameter der Lage sein, zu sehen, was es löschen will. Es findet zuerst die Datei "text.txt" richtig. Wenn "y" ausgewählt ist, um diese Datei zu löschen, gibt das Skript den Fehler aus, dass es sich nicht um den richtigen Ordner handelt. Dann beginnt es Dateien aus dem Hauptordner und allen Unterordnern zu löschen, wobei die Batch-Datei das erste Opfer ist (es fragt jedes Mal, ob ich Dateien in einem bestimmten Unterordner löschen möchte). Unterordner werden nicht gelöscht, nur ihre Inhalte.
Ich habe keine Ideen mehr.
Sie könnten https://ss64.com/nt/syntax-args.html von Interesse finden ... –