https://github.com/kidig/sdcopy
Command-line tool designed to organize files from your SD card into a structured archive
https://github.com/kidig/sdcopy
copy-files media organizer sdcard tool
Last synced: 6 months ago
JSON representation
Command-line tool designed to organize files from your SD card into a structured archive
- Host: GitHub
- URL: https://github.com/kidig/sdcopy
- Owner: kidig
- License: mit
- Created: 2024-04-01T04:23:57.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-21T17:20:56.000Z (about 2 years ago)
- Last Synced: 2025-01-24T11:15:47.907Z (over 1 year ago)
- Topics: copy-files, media, organizer, sdcard, tool
- Language: Python
- Homepage:
- Size: 20.5 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sdcopy
`sdcopy` is a command-line tool designed to copying files from your camera or any SD cards
into structured folders based on the last modified time.
The tool offers flexibility command-line options,
allowing you to customize the destination folder structure and handle different type of files effectively.
## Features
- **Timestamp-based Organization**: Files are copied to the destination directory with folders
structured according to their modification timestamps.
- **Concurrent Execution**: Utilized multithreading for faster file copying.
- **Dry-run Mode**: Preview the file organization without actually making changes.
## Installation
- Ensure you have Python 3.11.x installed
- Install project via pip: `pip install sdcopy`
## Usage
### Command-line Options
Usage: `sdcopy [OPTIONS] [SOURCE]... DEST`
* `SOURCE`: Source directory/directories from which files will be copied.
* `DEST`: Destination directory where organized files will be copied. It accepts `strftime` format: `%Y-%m-%d`
* `--ext`: Only selected file extensions will be processed.
* `--dry-run`: Perform a trial run without making changes.
* `--threads`: Number of concurrent thread for file copying (default: 4).
**Example**: Copying jpg/jpeg files into separate folders by file modified time and `YYYY-MM-DD` format
```bash
sdcopy /path/to/source /path/to/destination/%Y-%m-%d/ --ext jpg jpeg
```
**Real-world example**: Copying and organize media files from SONY ZVE10 camera:
```bash
# Copy photos
sdcopy /Volumes/SONY/DCIM ~/Pictures/SONY/%Y-%m-%d/RAW Photos --ext jpg dng --threads 4
# Copy videos
sdcopy /Volumes/SONY/PRIVATE/M4ROOT/CLIP ~/Pictures/SONY/%Y-%m-%d/Videos --ext mp4 xml --threads 4
```
## License
sdcopy is licensed under the MIT License. See the `LICENSE` file for details.