Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileMaskCleaner

Утилита на C# (.NET), которая удаляет из выбранной папки файлы, имена которых подходят под маску — например, все файлы, в имени которых есть слово «копия». Есть оконная (WinForms) и консольная версии.

Возможности

  • Поиск по маске с подстановочными символами * и ?
  • Если маска не содержит */?, она трактуется как подстрока (копия*копия*)
  • Поиск без учёта регистра
  • Рекурсивный обход вложенных папок
  • Предпросмотр найденных файлов перед удалением
  • В оконной версии — режим «не удалять, а перемещать найденные файлы в отдельную папку» (при совпадении имён добавляется суффикс (1), (2), …)

Оконная версия (FileMaskCleaner.Gui)

Готовый exe (единый файл, не требует установленного .NET) — в разделе Releases.

  1. Выберите папку и укажите маску (по умолчанию копия).
  2. Нажмите «Найти» — появится список файлов; снимите галочки с тех, которые нужно оставить.
  3. Нажмите «Удалить отмеченные», либо включите галочку «Не удалять, а перемещать…», укажите папку назначения и нажмите «Переместить отмеченные».

Сборка из исходников:

dotnet publish FileMaskCleaner.Gui -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true

Консольная версия (FileMaskCleaner.Cli)

dotnet run --project FileMaskCleaner.Cli -- <папка> <маска> [опции]
Опция Описание
-r, --recursive Искать также во вложенных папках
--dry-run Только показать, что будет удалено
-y, --yes Не спрашивать подтверждение
-h, --help Справка

Примеры

# Удалить все файлы со словом "копия" в имени (с подтверждением)
FileMaskCleaner "C:\Docs" копия

# Посмотреть, что будет удалено, включая подпапки, без удаления
FileMaskCleaner "C:\Docs" "* - копия*" -r --dry-run

# Удалить все .tmp-файлы рекурсивно без вопросов
FileMaskCleaner "C:\Docs" "*.tmp" -r -y

Сборка и запуск

Требуется .NET SDK 10.0+.

dotnet build
dotnet run -- "C:\Docs" копия --dry-run

Или собрать самодостаточный exe:

dotnet publish -c Release

Коды возврата

  • 0 — успешно (или отменено пользователем)
  • 1 — ошибка аргументов / папка не найдена
  • 2 — часть файлов удалить не удалось

Выпуск новой версии — целиком на GitHub

Локальный компьютер не нужен: сборкой exe занимается GitHub Actions (release.yml).

  1. Отредактируйте код прямо на GitHub (кнопка ✏️ в файле или клавиша . для веб-редактора).
  2. Откройте Actions → Release → Run workflow, укажите тег новой версии (например v1.3.0) и запустите. Через пару минут готовый FileMaskCleaner.exe появится в Releases.

Альтернатива: просто создайте тег v* (или релиз с новым тегом) — workflow соберёт exe и прикрепит его к релизу автоматически. Запуск workflow без тега делает проверочную сборку без публикации релиза (exe остаётся артефактом сборки).

About

Консольная утилита на C#: удаляет из выбранной папки файлы по маске имени (например, все файлы со словом «копия»)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages