Supportnet / Forum / BS-Sonstige
Dateien in allen Verzeichnissen löschen
Frage
Hi,
kann mir jemand sagen wie ich eine bestimmte Datei in allen Laufwerken und sämtlicher Unterverzeichnisse auf Dosbasis löschen kann. del Datei.txt /S funktioniert nicht!
Gruß Werner
Antwort 1 von schlafmuetze
hi,
der befehl ist richtig.
schau mal mit attrib dateiname /s nach, ob attribute wie s oder r gesetzt wurden.
dann mit attrib dateiname -attribut das attribut entfernen und dann löschen.
gruß
der befehl ist richtig.
schau mal mit attrib dateiname /s nach, ob attribute wie s oder r gesetzt wurden.
dann mit attrib dateiname -attribut das attribut entfernen und dann löschen.
gruß
Antwort 2 von Werni
hi,
es liegt nicht an den Attributen, ich bekomme nach eingabe des Befehls "Del text.txt /S" die Fehlermeldung "Ungültige Option - /S"
es liegt nicht an den Attributen, ich bekomme nach eingabe des Befehls "Del text.txt /S" die Fehlermeldung "Ungültige Option - /S"
Antwort 3 von Krischi
Hi,
del verfügt nicht über die Option /s, ist mir jedenfalls nicht bekannt und wird auch bei del /? nicht angezeigt.
Ciao...
del verfügt nicht über die Option /s, ist mir jedenfalls nicht bekannt und wird auch bei del /? nicht angezeigt.
Ciao...
Antwort 4 von Teddy7
Hallo Werner !
Meines Wissens gibt es kein "Löschen über alle Directorys".
Das einzige was mir dazu einfällt ist mit
dir datei.txt /S >ergebnis.txt
die zu löschenden Dateien zu ermitteln und zu speichern.
Ich weiß aber nicht, wie man diese Datei jetzt elegant mit dem del-Befehl in Verbindung bringt.
Das einfachste für eine einmalige Anwendung ist vielleicht als Ausgabe eine bat-datei zu erzeugen und dann mit einem editor in jede Zeile del davorzuschreiben. Ist natürlich Steinzeit-Programmierung aber vielleicht gibt es ja jemand der das besser hinkriegt.
Gruß
Teddy
Meines Wissens gibt es kein "Löschen über alle Directorys".
Das einzige was mir dazu einfällt ist mit
dir datei.txt /S >ergebnis.txt
die zu löschenden Dateien zu ermitteln und zu speichern.
Ich weiß aber nicht, wie man diese Datei jetzt elegant mit dem del-Befehl in Verbindung bringt.
Das einfachste für eine einmalige Anwendung ist vielleicht als Ausgabe eine bat-datei zu erzeugen und dann mit einem editor in jede Zeile del davorzuschreiben. Ist natürlich Steinzeit-Programmierung aber vielleicht gibt es ja jemand der das besser hinkriegt.
Gruß
Teddy
Antwort 5 von schlafmuetze
hi,
ups, verlesen.
Parameter /s gibts echt nicht.
das mit der batch ist am besten wie oben beschrieben.
sorry, aber mein name sagt schon alles.
vorm pc fast am schlafen.
gruß
ups, verlesen.
Parameter /s gibts echt nicht.
das mit der batch ist am besten wie oben beschrieben.
sorry, aber mein name sagt schon alles.
vorm pc fast am schlafen.
gruß
Antwort 6 von maneich
Hallo,
nun, das ist eigentlich sehr einfach, mit dem Befehl:
dir c:\ /s /b | find "Dateiname.Dateityp">Datei.txt
kannst Du im LW (hier C:) die Angaben zu jedem Pfad finden, indem eine Datei dieses Namens abgelegt ist. Für weitere Laufwerke dann den gleichen Befehl eingeben.
Unter der Homepage von http://home.nikocity.de/horst.muc/ findes Du alle notwendigen Progies, um die gefundenen Dateien zu löschen.
Du benötigst eines, um die einzelnen Zeilen abzuarbeiten (zu kopieren), ein weiteres, um einen Zähler einzubauen, damit Du die einzelnen Zeilen der .txtDatei abarbeiten kannst.
Der Zähler wird mit dem Progie Varset aufgebaut, für die Abarbeitung benötigst Du entweder WClip oder LMod.
Mußt Dir halt die Programmbescheibungen genau durcharbeiten.
Das ganze dann in einer Batch mit einer Schleife für jedes LW und alle Dateien werden automatisch ohne manuellen Eingriff gelöscht.
MfG maneich
nun, das ist eigentlich sehr einfach, mit dem Befehl:
dir c:\ /s /b | find "Dateiname.Dateityp">Datei.txt
kannst Du im LW (hier C:) die Angaben zu jedem Pfad finden, indem eine Datei dieses Namens abgelegt ist. Für weitere Laufwerke dann den gleichen Befehl eingeben.
Unter der Homepage von http://home.nikocity.de/horst.muc/ findes Du alle notwendigen Progies, um die gefundenen Dateien zu löschen.
Du benötigst eines, um die einzelnen Zeilen abzuarbeiten (zu kopieren), ein weiteres, um einen Zähler einzubauen, damit Du die einzelnen Zeilen der .txtDatei abarbeiten kannst.
Der Zähler wird mit dem Progie Varset aufgebaut, für die Abarbeitung benötigst Du entweder WClip oder LMod.
Mußt Dir halt die Programmbescheibungen genau durcharbeiten.
Das ganze dann in einer Batch mit einer Schleife für jedes LW und alle Dateien werden automatisch ohne manuellen Eingriff gelöscht.
MfG maneich
Antwort 7 von @lti
...oder erstellst Dir selbst mit QBasic auf die Schnelle eins.
Um die Textdatei auszulesen:
OPEN "C:\DATEI.TXT" for input as #1
WHILE NOT EOF(1)
LINE INPUT #1,X$
KILL X$
WEND
CLOSE
KILL "C:\DATEI.TXT"
Abspeichern unter KILL.BAS
Deine Batchdatei könnte dann in etwa so aussehen:
DIR /S/B %1 > C:\DATEI.TXT
CALL QBASIC KILL.BAS
Abspeichern unter LÖSCHEN.BAT
Aufruf der Batchdatei mit LÖSCHEN Dateiname.Dateierweiterung
Natürlich müsstest Du eventuell noch die Pfade anpasssen, oder wenn das über mehrere Laufwerke gehen soll, noch die Laufwerksbustaben anpassen, aber ich denke mal, mit den Hilfen kann man was anfangen. Wenn nicht, mail mich an.
Gruss Andreas
Um die Textdatei auszulesen:
OPEN "C:\DATEI.TXT" for input as #1
WHILE NOT EOF(1)
LINE INPUT #1,X$
KILL X$
WEND
CLOSE
KILL "C:\DATEI.TXT"
Abspeichern unter KILL.BAS
Deine Batchdatei könnte dann in etwa so aussehen:
DIR /S/B %1 > C:\DATEI.TXT
CALL QBASIC KILL.BAS
Abspeichern unter LÖSCHEN.BAT
Aufruf der Batchdatei mit LÖSCHEN Dateiname.Dateierweiterung
Natürlich müsstest Du eventuell noch die Pfade anpasssen, oder wenn das über mehrere Laufwerke gehen soll, noch die Laufwerksbustaben anpassen, aber ich denke mal, mit den Hilfen kann man was anfangen. Wenn nicht, mail mich an.
Gruss Andreas

