Ein einfacher Weg ist, die txt-Datei in eine Datei zu kopieren, die im Verzeichnis der zu löschenden Dateien aufgerufen wird mydel.bat
. Bearbeiten Sie diese Datei mit einem Editor wie Microsoft Word. Führen Sie ^p
in Word normalerweise ein globales Ersetzen für Newline durch . Ersetzen Sie es durch space/f^pdelspace
. Das wird sich ändern
File1.bin
File20.bin
File21.bin
to (bei /f
"schreibgeschützte Dateien löschen erzwingen"):
File1.bin /f
del File20.bin /f
del File21.bin /f
del
Bearbeiten Sie die erste Zeile, um das del
Leerzeichen hinzuzufügen und die letzte Zeile zu löschen.
Führen Sie den Stapelbefehl aus.
/f
für "Nur-Lese-Dateien löschen erzwingen" anstatt/y
.Geben Sie dies in die Befehlszeile ein und ersetzen Sie Ihre Datei durch
files_to_delete.txt
:Eine Version, die in
.cmd
Dateien eingeschlossen werden kann (double %%) und mit Leerzeichen in Dateinamen umgehen kann:quelle
/f
Flagge vergessen .Verwenden von PowerShell:
quelle
>
, damit dies funktioniert. DhGet-Content c:\path\to\list.txt > Remove-Item
... ich hatte volle UNC - Pfade in meinemlist.txt
. Hoffe das hilft.>
und es wurde nur eine Datei für mich erstellt, anstatt Dinge zu löschen.Ich kann mir vorstellen, dass dies mit Powershell möglich ist.
Da ich Perl kenne , benutze ich es eher für solche Dinge
quelle
Erste Methode funktioniert nach einigen Änderungen:
Kopieren Sie alle Dateinamen mit Endung, die nach dem Hinzufügen
del
am Anfang gelöscht werden müssen, wieSpeichern Sie die Datei
xyz.bat
im selben Ordnerquelle
del
manuell hinzufügen, wie Sie es vorschlagen, während bereits Lösungen veröffentlicht wurden, um dies zu automatisieren? Übrigens: Jeder vernünftige Editor unterstützt das Suchen und Ersetzen von Zeilenenden (oder Zeilenanfängen mit regulären Ausdrücken), Makros oder die Bearbeitung im Block- oder Spaltenmodus (häufig durch Gedrückthalten von Option oder Alt und anschließendes Auswählen von a) Block, nach dem man einfach in mehrere Zeilen gleichzeitig tippen kann).