Удаление элементов через командную строку довольно просто.
del /options filename.extension
Теперь предположим, что я хочу удалить все файлы, которые не заканчиваются на .jpg, в папке, как бы я это сделал.
Дело в том, что у меня есть часть программного обеспечения, которая преобразует все указанные изображения в .jpg, но оставляет оригиналы, которые мне больше не нужны.
Было бы гораздо эффективнее выполнить один оператор, чем делать несколько операторов для каждого отдельного типа файла.
windows
command-line
KdgDev
источник
источник
/s
в каждую строку, чтобы рекурсивно включать файлы в подкаталоги.Это на самом деле довольно легко.
Вам нужно
for
будет перебрать файлы, а затем просто искать расширение:должен сделать трюк (код здесь ).
источник
Powershell для спасения
Во времена Windows 7/8 это преемник старой доброй командной строки
Del
это псевдоним дляRemove-Item
. У него есть несколько вариантов, таких как recurse, include, exclude и filter (используйте это для RegEx)Вы должны добавить,
\*
чтобы включить файлы в заданную папкуисточник
PowerShell.exe -Command "&{Remove-Item C:\MyFolder\* -Exclude '*.jpg'}"
Я знаю, что он не отвечает на ваш вопрос напрямую, но вы посмотрели на параметры вашего конвертера, чтобы увидеть, если:
или
источник
Я искал способ найти все файлы, которые НЕ имеют расширения ".mp3", в каталоге TREE в Windows 7 (том NTFS), содержащем, возможно, 20 000 файлов в нескольких сотнях каталогов различной глубины ... так что через некоторое время я использовал:
в нем перечислены файлы, которые не соответствуют .mp3 после удаления всего, что связано с выводом команды DIR ... 99% работает ... если файл, который не соответствует, не назван одним из ключевых слов в стандартном выводе DIR - возможно, есть способ сделать отчет DIR меньшим количеством заголовка / сводной информации - но я не стал беспокоиться, так как он получил большую часть пути.
источник
/b
флагdir
команды.dir /b
будет перечислять имена файлов и расширения только в текущем каталоге,dir /s /b
будет перечислять полные имена всех файлов в текущем и всех подкаталогах. Трубкаfind /v
вместоfor
петли - это приятное прикосновение, которое мне нужно запомнить, но я не думаю, что оно работаетdel
.Другой способ удалить все файлы, соответствующие имени файла, показан ниже. Список циклов for содержит все файлы, а if NOT соответствует имени файла (без имени каталога).
источник