directory-content-scanner/README.md

70 lines
2.8 KiB
Markdown
Raw Normal View History

2023-09-02 16:59:06 +02:00
# Directory Content Scanner
2023-09-14 07:41:37 +02:00
The Directory Content Scanner is a Python-based utility designed to recursively scan directories, presenting both file paths and their content. It's an invaluable tool for in-depth content exploration and debugging within nested file structures.
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
## 🚀 Getting Started
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
### 📋 Prerequisites
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
- Python 3.x
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
### 🛠️ Installation
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
1. Clone the repository:
```bash
2023-09-02 16:59:06 +02:00
git clone https://github.com/kevinveenbirkenbach/directory-content-scanner.git
```
2. Navigate to the cloned directory:
2023-09-14 07:41:37 +02:00
```bash
2023-09-02 16:59:06 +02:00
cd directory-content-scanner
```
2023-09-14 07:41:37 +02:00
## 📖 Usage
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
Run the Python script, specifying the target directory and any desired filters:
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
```bash
python3 scan.py /path/to/directory [options]
2023-09-02 16:59:06 +02:00
```
2023-09-14 07:41:37 +02:00
### Options:
2023-12-15 13:42:52 +01:00
To show the help page execute:
```bash
python3 scan.py /path/to/directory --help
```
2023-09-02 16:59:06 +02:00
2024-06-18 19:05:46 +02:00
- `paths`: List of files or directories to scan. This is a positional argument.
- `--file-types`: Filter by file types (e.g., `.txt`, `.log`). Only files with these extensions will be processed.
- `--ignore-file-strings`: Ignore files and folders containing these strings. Useful for excluding specific files or directories.
- `--ignore-hidden`: Ignore hidden directories and files (those starting with a dot).
- `-v`, `--verbose`: Enable verbose mode. This will print additional information about skipped files.
- `--no-comments`: Remove comments from the displayed content based on file type. Comments in supported file types (Python, JS, C, CPP, H) will be stripped.
- `--compress`: Compress code (for supported file types). The content will be displayed in compressed form.
- `--path-contains`: Display files whose paths contain one of these strings. Useful for narrowing down the scan to specific parts of the directory structure.
- `--content-contains`: Display files containing one of these strings in their content. The file's content will be checked, and only matching files will be shown.
2023-09-14 07:41:37 +02:00
## ⚠️ Caution
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
Exercise caution when scanning directories with large files. The script may produce extensive output. Always assess the data volume before executing the script.
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
## 🤝 Contributing
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
Contributions via pull requests are welcome. For significant modifications, kindly open an issue first to discuss the proposed changes.
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
## ✍️ Author
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
**Kevin Veen-Birkenbach**
- 📧 [Email Kevin](mailto:kevin@veen.world)
- 🌐 [Website](https://www.veen.world/)
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
## 📜 License
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
This project is licensed under the GNU Affero General Public License v3.0. The complete license text is available in the `LICENSE` file.
2023-09-02 16:59:06 +02:00
2023-09-14 07:41:37 +02:00
## 🙏 Acknowledgements
2023-09-02 16:59:06 +02:00
2024-06-18 19:05:46 +02:00
Special thanks to OpenAI's ChatGPT model for assistance. Dive deeper into the creation process [here](https://chat.openai.com/share/71e9bc9e-d34a-4b03-bf68-4f9e994d156a), [here](https://chat.openai.com/share/3fc66009-ff4e-425e-a4a3-fc703534885d) and [here](https://chatgpt.com/share/d08724c6-8f65-4b24-9828-e0f895bd1e1d).