# Batch File Ops

> Batch file operations (delete, move, copy, list) with glob patterns. CLI tool for efficient filesystem operations. Zero dependencies.

- Skill: `ellmos-ai/batch-file-ops-2` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ellmos-ai/batch-file-ops-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ellmos-ai/batch-file-ops-2/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-2

---


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

> **English** — Official English version of `batch-file-ops`.


# batch_file_ops - Batch File Operations (English)

CLI tool for efficient batch operations on files using glob patterns.
Supports: delete, move, copy, list. Zero dependencies (Python stdlib only).

---

## Actions

| Action | Description |
|--------|-------------|
| `delete` | Delete files matching a pattern |
| `move` | Move files matching a pattern |
| `copy` | Copy files matching a pattern |
| `list` | List files matching a pattern |

## CLI Usage

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

### Arguments

| Argument | Description |
|----------|-------------|
| `action` | `delete`, `move`, `copy`, or `list` |
| `source` | Source directory |
| `target` | Target directory (only for `move` and `copy`) |
| `--pattern`, `-p` | Glob pattern (e.g., `*.py`, `TOOLS_*.py`) - Default: `*` |
| `--dry-run`, `-n` | Preview only, no changes |
| `--recursive`, `-r` | Search recursively in subdirectories |

---

## Examples & Usage

```bash
# List all Python files in a directory
python batch_file_ops.py list /path/to/directory --pattern "*.py"

# Delete all .tmp files (dry-run first!)
python batch_file_ops.py delete /path/to/directory --pattern "*.tmp" --dry-run
python batch_file_ops.py delete /path/to/directory --pattern "*.tmp"

# Move files
python batch_file_ops.py move /source /target --pattern "*.txt"

# Copy files (recursive)
python batch_file_ops.py copy /source /target --pattern "*.md" --recursive

# Pattern examples
python batch_file_ops.py delete /path --pattern "TOOLS_*.py"
python batch_file_ops.py list /path --pattern "backup_202?-*"
```

---

## Notes

- **Dry-run first:** Always use `--dry-run` first with `delete` and `move`
- **Glob patterns:** Uses Python `pathlib.glob()` / `pathlib.rglob()`
- **Windows-compatible:** Automatic UTF-8 output encoding
- **Files only:** Directories are skipped (only files are processed)

