Перейти к содержимому

Как удалить все файлы определенного расширения

  • автор:

Как удалить файлы определенного типа из командной строки или bat-файла

Как удалить файлы определенного типа из командной строки или bat-файла

Очень часто возникает необходимость удалить все файлы с определенным расширением в каком-либо каталоге (или в каталоге и во всех его подкаталогах). Например, если мы хотим удалить все текстовые файлы с расширением *.txt в папке (и всех ее подпапках) C:\texts , то можно выполнить следующую команду:

del /f /s /q C:\texts\*.txt

Где
/f — удаляет все файлы, даже если у них установлен атрибут только чтение
/s — удаляет файлы из всех подкаталогов (если это не требуется, то данный ключ нужно убрать)
/q — отключает запрос на подтверждение удаления файла
C:\texts — каталог, в котором будут найдены и удалены все файлы. Вместо определенной папки, можно указать весь диск целиком, тогда выглядеть это будет так: C:\*.txt
*.txt — тип файлов (расширение), которые будут удалены

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

Как удалить из папки все файлы определённого расширения?

Каким образом можно удалить из папки все файлы определённого расширения ?

-Jack-
Если кому пригодится вот что нашёл

var 
FileName :TSearchRec;
r :integer;
begin
r := FindFirst('*.txt',faAnyFile,FileName);
if r = 0 then DeleteFile(FileName.Name);
while (FindNext(FileName) = 0) do
DeleteFile(FileName.Name);
end;

Похожие статьи

  • Delphi: Вывести N директорий в заданной (без рекурсии вложенных папок)
  • Удаление файла выделенного в ListBox
  • Удаление файла без возможности восстановления
  • Как проверить наличие файлов в папке мои документы?
  • Вывести все файлы которые находятся во всех папках на диске C
  • Как загрузить в Мemo список файлов в каталоге?
  • Аналоги функций FindFirstFile, CopyFile, DeleteFile в Qt
  • Посимвольное считывание файла, поиск цифр в текстовом файле на C# (си шарп)
  • Чтение определенный строки из текстового файла
  • Чтение бинарного файла не с начала файла, а с заданной позиции

Купить рекламу на сайте за 1000 руб

пишите сюда — alarforum@yandex.ru


Да и по любым другим вопросам пишите на почту

  • Форум Web программирование (веб)
    • Форум Python (питон)
    • Форум PHP (пхп)
    • Форум Perl (перл)
    • Форум Ruby (руби)
    • Форум JavaScript (яваскрипт)
    • Форум Ajax (аякс)
    • Форум SQL (эскюэл)
    • Форум HTML (хтмл)
    • Форум CSS (сиэсэс)
    • Форум XML (иксмл)
    • Форум JSON (джсон)
    • Форум Pascal (паскаль)
    • Форум Delphi (делфи)
    • Форум C++ (си плюс плюс)
      • Форум C++ Builder (си билдер)
      • Форум Visual C++ (визуал си)
      • Форум .NET (точка нет)
      • Форум ASP.NET (асп нет)
      • Форум Windows Forms (виндовс формс)
      • Форум базы данных ADO.NET (адо нет)
      • Форум .NET Framework WPF, UWP, WinRT, XAML ()
      • Форум Java Android (джава андроид)
      • Форум Java web (джава веб)
      • Форум Kotlin (котлин)
      • Форум Assembler (ассемблер)
      • Форум WinApi (вин апи)
      • Форум Excel (эксель)
      • Форум Word (ворд)
      • Форум Access (аксесс)
      • Форум по администрированию ОС
      • Форум по администрированию серверов и VDS
      • Форум Windows
      • Форум Ubuntu
      • Форум Android

      Как удалить все файлы определенного расширения

      Сообщения: 681
      Благодарности: 314

      Конфигурация компьютера
      Процессор: AMD Ryzen 5 1600
      Материнская плата: GIGABYTE B450M DS3H
      Память: Kingston ValueRAM [KVR24N17S8/8] 8 ГБ
      HDD: KINGSTON SV300S37A120G ATA 120ГБт SSD; SAMSUNG HD501LJ, SATA, 500ГБт; ST2000VM003-1CT164 ATA Device 2ТБт
      Видеокарта: GIGABYTE Radeon R7 250 1100Mhz PCI-E 3.0 2048Mb 1800Mhz 128 bit DVI HDMI HDCP
      Звук: Realtek ALC887
      Блок питания: CoolerMaster MasterWatt Lite 600W, 2019
      Монитор: Samsung SyncMaster 2443, 24»
      ОС: Windows 10 Pro 64Bit

      Папуас, обычный Total commander.

      Самых очевидных путей решения 2 —
      Вариант 1:
      1. Заходим в вашу «корневую» папку
      2. жмем alt+f7, в строке поиска вводим «|*.bmp» без кавычек (значок «|» рядом с клавишей backspace, он говорит о том, что ищем «все, кроме»)
      3. жмем «поиск», после окончания поиска — кнопку «файлы на панель»
      4. выделяем желаемые файлы, удаляем (видимо подпапки он тоже выведет, их удалять не следует)

      вариант 2 (для раскладки тотала от Samlab):ь
      1. Заходим в вашу «корневую» папку
      2. Жмем ctrl+b — на панель выводятся все файлы из подпапок
      3. Дальше жмем ctrl+f12, вводим «|*.bmp», жмем ок (остаются видимыми только файлы, с расширением не bmp), жмем «*» — все файлы выделяются, жмем «delete»
      4 Либо вместо пункта 3 жмем на дополнительной клавиатуре клавишу «+» — вводим «|*.bmp» жмем «ок» — выделяются все не бмп-шные файлы.

      Имхо вариант 2 более востребован, но тут вопрос личных предпочтений.

      Это сообщение посчитали полезным следующие участники:

      Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

      Сообщения: 46
      Благодарности: 0

      Сегодня обязательно проверю. Больше спасибо!

      Сообщения: 46
      Благодарности: 0

      Боже, как все просто и удобно Зря я не любил пользоваться сторонними файловыми менеджерами. Еще раз благодарю!)

      Сообщения: 681
      Благодарности: 314

      Конфигурация компьютера
      Процессор: AMD Ryzen 5 1600
      Материнская плата: GIGABYTE B450M DS3H
      Память: Kingston ValueRAM [KVR24N17S8/8] 8 ГБ
      HDD: KINGSTON SV300S37A120G ATA 120ГБт SSD; SAMSUNG HD501LJ, SATA, 500ГБт; ST2000VM003-1CT164 ATA Device 2ТБт
      Видеокарта: GIGABYTE Radeon R7 250 1100Mhz PCI-E 3.0 2048Mb 1800Mhz 128 bit DVI HDMI HDCP
      Звук: Realtek ALC887
      Блок питания: CoolerMaster MasterWatt Lite 600W, 2019
      Монитор: Samsung SyncMaster 2443, 24»
      ОС: Windows 10 Pro 64Bit

      Не стоит благодарности )))
      Могу посоветовать использовать сборки Тотала с сайта samlab.ws — там очень грамотно настроены сочетания горячих клавиш. В настоящее время сборки не содержат вареза и насколько мне известно, являются легальными.

      Сообщения: 27449
      Благодарности: 8086

      Цитата a_axe:

      В настоящее время сборки не содержат вареза и насколько мне известно, являются легальными. »

      a_axe, а сам Total Commander, значится, стал бесплатным?

      Перейти в папку. Нажать «Alt-F7» — поиск файла. Маска файлов: «*.*|*.bmp». «Alt-А» — снять флажок «[ ] Искать папки»:

      ╔════════════════════════════ Поиск файла ═════════════════════════════╗ ║ Одна или несколько масок файлов: ║ ║ *.*|*.bmp ↓║ ╟──────────────────────────────────────────────────────────────────────╢ ║ Содержащих текст: ║ ║ ↓║ ║ Используя кодовую страницу: ║ ║ Все кодовые страницы ↓║ ╟──────────────────────────────────┬───────────────────────────────────╢ ║ [ ] Учитывать регистр │ [ ] Искать в архивах ║ ║ [ ] Только целые слова │ [ ] Искать папки ║ ║ [ ] Искать 16-ричный код │ [ ] Искать в символических ссылках║ ╟──────────────────────────────────┴───────────────────────────────────╢ ║ Выберите область поиска: ║ ║ С текущей папки ↓ [ ] Использовать фильтр ║ ╟──────────────────────────────────────────────────────────────────────╢ ║ < Искать >[ Диск ] [ Фильтр ] [ Дополнительно ] [ Отмена ] ║ ╚══════════════════════════════════════════════════════════════════════╝

      «Ctrl-Enter» — начать поиск. По завершении — нажать «Alt-л» или кнопку «Панель» для помещения найденных файлов на Временную панель:

      ╔═══════════════════ Временная панель [2] ═════╤════════╤═19:48 ║и Имя │Размер│ Дата │Время║ ║⌂.. │ Вверх│ │ ▲ ║ --mozilla-.xml │ 1489│03.09.09│17:06▓ ║ %%__Menu.reg │ 3252│05.11.10│02:13░ ║ %%__RestoreCmdLine │ 584│19.10.10│01:30░ ║ %%__RestoreCmdLine │ 584│19.10.10│01:30░ ║ %%__SaveCmdLine │ 648│19.10.10│01:30░ ║ %%__SaveCmdLine │ 648│19.10.10│01:30░ ║ .autoreg │ 1│25.11.10│22:41░ ║ .autoreg │ 1│14.02.11│00:49░ ║►_custombb.js │ 41522│22.03.08│23:48░ ║ _preview.html │ 12130│28.11.07│02:10░ ║ _preview.xul │ 7479│15.02.08│23:24░ ║►~firstrun.js │ 3905│23.03.08│01:38░ ║ 0000.hta │ 5826│18.06.07│00:55░ ║ 0000-2.hta │ 5883│23.11.10│09:01░ ║ 0001.ahk │ 62585│11.01.11│02:23░ ║ 0001.au3 │ 1333│17.03.11│17:27░ ║ 0001.au3 │ 1805│24.03.11│06:46░ ║►0001.cmd │ 971│23.11.10│07:52░ ║►0001.cmd │ 295│05.12.10│21:40░ ║►0001.cmd │ 166│11.01.11│21:38░ ║►0001.cmd │ 204│20.01.11│01:51░ ║►0001.cmd │ 252│22.01.11│07:46░ ║►0001.cmd │ 94│12.02.11│21:03░ ║►0001.cmd │ 513│16.02.11│13:50░ ║►0001.cmd │ 510│16.02.11│13:15░ ║►0001.cmd │ 235│20.02.11│22:00░ ║►0001.cmd │ 152│08.03.11│16:03░ ║►0001.cmd │ 187│20.03.11│03:40░ ║►0001.cmd │ 799│02.04.11│00:57░ ║►0001.cmd │ 1665│04.04.11│04:21░ ║►0001.cmd │ 88│03.05.11│22:04▼ ╟───────────────────────────────────────┴──────┴────────┴─────╢ ║⌂.. ║ ╚═══════════ 604,048,959 (13121) ═══ 4,424,003,584 ═══════════╝

      По завершении помещения найденных файлов на Временную панель нажать «*» — выделить все файлы. Далее «F8» (в Корзину), або «Shift-Del» (мимо Корзины).

      3 способа удалить все файлы в каталоге, кроме одного или нескольких файлов с расширениями

      Иногда вы попадаете в ситуацию, когда вам нужно удалить все файлы в каталоге или просто очистить каталог, удалив все файлы, кроме файлов заданного типа (оканчивающихся определенным расширением).

      В этой статье мы покажем вам, как удалять файлы в каталоге, кроме определенных расширений или типов файлов, с помощью команд rm, find и globignore.

      Прежде чем мы двинемся дальше, давайте начнем с краткого рассмотрения одной важной концепции Linux — сопоставления имен файлов с образцом, которая позволит нам решить нашу проблему.

      В Linux шаблон оболочки представляет собой строку, состоящую из следующих специальных символов, которые называются подстановочными знаками или метасимволами:

      1. * — соответствует нулю или более символов
      2. ? — соответствует любому одиночному символу
      3. [seq] — соответствует любому символу в seq
      4. [!seq] — соответствует любому символу, не указанному в seq

      Здесь мы рассмотрим три возможных метода, в том числе:

      Удаление файлов с помощью расширенных операторов сопоставления с образцом

      Различные расширенные операторы сопоставления с образцом перечислены ниже, где список-шаблонов — это список, содержащий одно или несколько имен файлов, разделенных символом | :

      1. *(список-шаблонов) — соответствует нулю или более вхождений указанных шаблонов
      2. ?(список-шаблонов) — соответствует нулю или одному вхождению указанных шаблонов
      3. +(список-шаблонов) — соответствует одному или нескольким вхождениям указанных шаблонов
      4. @(pattern-list) — соответствует одному из указанных шаблонов
      5. !(список-шаблонов) — соответствует чему угодно, кроме одного из заданных шаблонов

      Чтобы использовать их, включите параметр оболочки extglob следующим образом:

      # shopt -s extglob

      1. Чтобы удалить все файлы в каталоге, кроме имени файла, введите следующую команду:

      $ rm -v !("filename")

      2. Чтобы удалить все файлы, кроме filename1 и filename2:

      $ rm -v !("filename1"|"filename2")

      3. В приведенном ниже примере показано, как удалить все файлы, кроме всех файлов .zip , в интерактивном режиме:

      $ rm -i !(*.zip)

      4. Затем вы можете удалить все файлы в каталоге, кроме всех файлов .zip и .odt , следующим образом, отображая то, что сделанный:

      $ rm -v !(*.zip|*.odt)

      Получив все необходимые команды, отключите параметр оболочки extglob следующим образом:

      $ shopt -u extglob

      Удалить файлы с помощью команды поиска Linux

      В этом методе мы можем использовать команду find исключительно с соответствующими параметрами или в сочетании с командой xargs, используя конвейер, как в формах ниже:

      $ find /directory/ -type f -not -name 'PATTERN' -delete $ find /directory/ -type f -not -name 'PATTERN' -print0 | xargs -0 -I <> rm <> $ find /directory/ -type f -not -name 'PATTERN' -print0 | xargs -0 -I <> rm [options] <>

      5. Следующая команда удалит все файлы, кроме файлов .gz в текущем каталоге:

      $ find . -type f -not -name '*.gz'-delete

      6. Используя конвейер и xargs, вы можете изменить приведенный выше случай следующим образом:

      $ find . -type f -not -name '*gz' -print0 | xargs -0 -I <> rm -v <>

      7. Рассмотрим еще один пример. Приведенная ниже команда удалит все файлы, кроме .gz , .odt и . .jpg файлы в текущем каталоге:

      $ find . -type f -not \(-name '*gz' -or -name '*odt' -or -name '*.jpg' \) -delete

      Удалить файлы с помощью переменной Bash GLOBIGNORE

      Однако этот последний подход работает только с bash. Здесь переменная GLOBIGNORE хранит разделенный двоеточиями список шаблонов (имен файлов), которые следует игнорировать при раскрытии пути.

      Чтобы использовать этот метод, перейдите в каталог, который вы хотите очистить, затем установите переменную GLOBIGNORE следующим образом:

      $ cd test $ GLOBIGNORE=*.odt:*.iso:*.txt

      В этом случае все файлы, кроме файлов .odt , .iso и .txt , будут удалены из текущего каталога.

      Теперь запустите команду для очистки каталога:

      $ rm -v *

      После этого отключите переменную GLOBIGNORE:

      $ unset GLOBIGNORE

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

      Вот и все! Если у вас есть какие-либо другие методы командной строки для той же цели, не забудьте поделиться с нами через наш раздел обратной связи ниже.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *