Odpowiedzi:
Prostym sposobem jest skopiowanie pliku txt do pliku wywołanego mydel.bat
w katalogu plików do usunięcia. Za pomocą edytora takiego jak Microsoft Word edytuj ten plik. Wykonuj globalne zastępowanie na Newline normalnie ^p
w programie Word. Zamień na space/f^pdelspace
. To się zmieni
File1.bin
File20.bin
File21.bin
do (z /f
„wymuszaj usuwanie plików tylko do odczytu”):
File1.bin /f
del File20.bin /f
del File21.bin /f
del
Edytuj linię pięści, aby dodać del
spację i usuń ostatnią linię.
Uruchom polecenie wsadowe.
/f
„wymuszania usuwania plików tylko do odczytu” zamiast /y
.
Wpisz to w wierszu polecenia, zastępując plik files_to_delete.txt
:
for /f %i in (files_to_delete.txt) do del %i
Wersja tego odpowiednia do włączenia do .cmd
plików (podwójny %%) i zdolna do radzenia sobie ze spacjami w nazwach plików:
for /f "delims=" %%f in (files_to_delete.txt) do del "%%f"
/f
flagi.
Za pomocą programu PowerShell:
Get-Content c:\path\to\list.txt | Remove-Item
>
aby to zadziałało. Tj Get-Content c:\path\to\list.txt > Remove-Item
... miałem w sobie pełne ścieżki UNC list.txt
. Mam nadzieję że to pomoże.
>
i właśnie utworzył dla mnie plik, zamiast usuwania rzeczy.
Wyobrażam sobie, że można to zrobić za pomocą PowerShell.
Znając Perla , zwykle używam go do tego rodzaju rzeczy
perl -l -n -e "unlink" filenames.txt
Pierwsza metoda działa po kilku zmianach:
skopiuj wszystkie nazwy plików z rozszerzeniem, które należy usunąć po dodaniu del
na początku jak
del File1.bin
del File20.bin
del File21.bin
zapisz plik jak xyz.bat
w tym samym folderze
del
ręcznie, tak jak proponujesz, skoro rozwiązania zostały już opublikowane, aby zautomatyzować? Nawiasem mówiąc: każdy rozsądny edytor miałby pewne wsparcie w wyszukiwaniu i zastępowaniu, w tym zakończeniach linii (lub linii rozpoczynających się, przy użyciu wyrażeń regularnych), makrach, lub w trybie edycji bloku lub kolumny (często inicjowany przez przytrzymanie Option lub Alt, a następnie wybranie blok, po którym można po prostu wpisać wiele wierszy jednocześnie).