Удаление всех файлов, которые не соответствуют определенному шаблону - командная строка Windows

Удаление объектов через командную строку довольно легко.

del /options filename.extension

Теперь, предположите, что я хочу удалить все файлы, которые не заканчиваются .jpg в папке, как я сделал бы это.

Вещь, у меня есть часть программного обеспечения, которое преобразовывает все указанные изображения в .jpg, но это оставляет оригиналы, в которых я больше не нуждаюсь.

Было бы намного более эффективно выполнить отдельного оператора, по сравнению с выполнением нескольких операторов для каждого различного типа файла.

12
задан 11.07.2014, 21:29

3 ответа

Я сделал бы это как это:

attrib +r *.jpg
del /q *
attrib -r *.jpg

Это сначала сделает все файлы JPG только для чтения, удалит все остальное (это автоматически пропустит файлы только для чтения), и затем сделайте файлы JPG записываемыми снова.

14
ответ дан 07.12.2019, 11:50

Это на самом деле довольно легко.

Вам будет нужно for выполнить итерации по файлам и затем затем искать расширение:

for %f in (*) do if not %~xf==.jpg del "%f"

должен добиться цели (код здесь).

9
ответ дан 07.12.2019, 11:50

Я знаю, что это не отвечает на Ваш вопрос непосредственно, но посмотрите на Вас опции на Вашем преобразователе, чтобы видеть если:

  1. Это может удалить оригиналы само

или

  1. Записать .jpg's в новую папку?
1
ответ дан 07.12.2019, 11:50

Теги

Похожие вопросы