# Batch File Ops

> Пакетные операции с файлами (удаление, перемещение, копирование, список) с использованием масок glob. CLI-инструмент для эффективной работы с файловой системой. Без зависимостей.

- Skill: `ellmos-ai/batch-file-ops-5` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ellmos-ai/batch-file-ops-5`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ellmos-ai/batch-file-ops-5/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ellmos-ai (https://skillmd.com/u/ellmos-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ellmos-ai/batch-file-ops-5

---


<img src="banner.png" width="100%" alt="batch-file-ops banner">

> **Русский** — Официальная русская версия `batch-file-ops`.


# batch_file_ops - Пакетные операции с файлами (Русский)

CLI-инструмент для эффективных пакетных операций с файлами с использованием масок glob.
Поддерживает: delete, move, copy, list. Нулевые зависимости (только стандартная библиотека Python).

---

## Действия

| Действие | Описание |
|----------|----------|
| `delete` | Удалить файлы, соответствующие маске |
| `move` | Переместить файлы, соответствующие маске |
| `copy` | Скопировать файлы, соответствующие маске |
| `list` | Вывести список файлов, соответствующих маске |

## Использование CLI

```bash
python batch_file_ops.py <action> <source> [<target>] --pattern "<glob>" [--dry-run] [--recursive]
```

### Аргументы

| Аргумент | Описание |
|----------|----------|
| `action` | `delete`, `move`, `copy` или `list` |
| `source` | Исходный каталог |
| `target` | Целевой каталог (только для `move` и `copy`) |
| `--pattern`, `-p` | Маска glob (например, `*.py`, `TOOLS_*.py`) — По умолчанию: `*` |
| `--dry-run`, `-n` | Только предварительный просмотр, без изменений |
| `--recursive`, `-r` | Рекурсивный поиск в подкаталогах |

---

## Примеры и использование

```bash
# Вывести список всех файлов Python в каталоге
python batch_file_ops.py list /path/to/directory --pattern "*.py"

# Удалить все файлы .tmp (сначала выполните пробный запуск dry-run!)
python batch_file_ops.py delete /path/to/directory --pattern "*.tmp" --dry-run
python batch_file_ops.py delete /path/to/directory --pattern "*.tmp"

# Переместить файлы
python batch_file_ops.py move /source /target --pattern "*.txt"

# Скопировать файлы (рекурсивно)
python batch_file_ops.py copy /source /target --pattern "*.md" --recursive

# Примеры масок
python batch_file_ops.py delete /path --pattern "TOOLS_*.py"
python batch_file_ops.py list /path --pattern "backup_202?-*"
```

---

## Примечания

- **Сначала пробный запуск (Dry-run):** Всегда сначала используйте `--dry-run` при выполнении `delete` и `move`
- **Маски Glob:** Используется Python `pathlib.glob()` / `pathlib.rglob()`
- **Совместимость с Windows:** Автоматическая кодировка вывода UTF-8
- **Только файлы:** Каталоги пропускаются (обрабатываются только файлы)

