Yanıtlar:
Basit yol, txt dosyasını mydel.bat
silmek için dosyaların dizininde adı verilen bir dosyaya kopyalamaktır . Microsoft Word gibi bir düzenleyici kullanarak bu dosyayı düzenleyin. Normal ^p
olarak Word'de Newline'da genel bir değiştirme yapın . İle değiştirin space/f^pdelspace
. Bu değişecek
File1.bin
File20.bin
File21.bin
( /f
"salt okunur dosyaları silmeye zorla" ile):
File1.bin /f
del File20.bin /f
del File21.bin /f
del
del
Boşluk eklemek ve son satırı silmek için ilk satırı düzenleyin .
Toplu iş komutunu çalıştırın.
/f
bunun yerine "salt okunur dosyaları silmeye zorla" olması gerekiyordu /y
.
Bunu komut satırına yazıp dosyanızı şu şekilde değiştirebilirsiniz files_to_delete.txt
:
for /f %i in (files_to_delete.txt) do del %i
Bunun .cmd
dosyalara dahil edilmesi için uygun bir sürümü (% double) ve dosya adlarındaki boşluklarla başa çıkabilme:
for /f "delims=" %%f in (files_to_delete.txt) do del "%%f"
/f
Bayrağı unuttum .
PowerShell'i kullanma:
Get-Content c:\path\to\list.txt | Remove-Item
>
Bu işi yapmak için boru operatörünü a ile değiştirmek zorunda kaldım . Yani Get-Content c:\path\to\list.txt > Remove-Item
... İçimde tam UNC yolları vardı list.txt
. Bu yardımcı olur umarım.
>
ve bu şeyleri silmek yerine sadece benim için bir dosya oluşturdu.
Powershell ile yapılabileceğini hayal ediyorum.
Bilmek Perl , ben bir şey bu tür için kullanma eğiliminde
perl -l -n -e "unlink" filenames.txt
İlk yöntem bazı değişikliklerden sonra çalışır:
del
Gibi başlangıçta eklemeden sonra silinmesi gereken tüm dosya adlarını kopyalayın
del File1.bin
del File20.bin
del File21.bin
dosyayı xyz.bat
aynı klasöre kaydet
del
Teklif ettiğiniz gibi manuel olarak neden eklemelisiniz , bunu otomatikleştirmek için çözümler zaten yayınlanmışken? Bir kenara olarak: herhangi bir mantıklı düzenleyici, satır sonları (veya normal ifadeler kullanarak satır başlangıcı), makrolar veya blok veya sütun modu düzenleme (genellikle Seçenek veya Alt tuşunu basılı tutarak başlatıp ardından blok, bundan sonra sadece bir kerede birden fazla satır yazabilirsiniz).