|
| 1 | +# SortiFiler CLI |
| 2 | + |
| 3 | +> Get your files sorted from the command line. 📚🗂🖥 |
| 4 | +
|
| 5 | +## Description |
| 6 | +An opinionated command line interface to sort your files and folders easily while feeling like [Hackerman](https://knowyourmeme.com/memes/hackerman). |
| 7 | + |
| 8 | +**Desktop app coming soon! 🚀** |
| 9 | + |
| 10 | +Everyday you look at your *Desktop/Downloads* folder and think, "Damn I need to clean up this mess". 🤦 |
| 11 | + |
| 12 | +That feeling is why this CLI now exists. 😆 |
| 13 | + |
| 14 | +SortiFiler classifies files and folders and moves them into *\_Type* folders for easy access at the root of your chosen directory. 🗃 |
| 15 | + |
| 16 | +## Installation |
| 17 | + |
| 18 | +To install SortiFiler CLI enter `npm -g install sortifiler-cli` into your terminal. |
| 19 | + |
| 20 | +If you are looking for the SortiFiler API then check out [SortiFiler](https://github.com/yougotwill/sortifiler)! |
| 21 | + |
| 22 | +## Usage |
| 23 | + |
| 24 | +```bash |
| 25 | +sortifiler --help |
| 26 | + |
| 27 | + Usage |
| 28 | + $ sortfiler <path> |
| 29 | + |
| 30 | + Options |
| 31 | + --meta, -m Includes meta files when sorting. |
| 32 | + --files, -f Sort all files in a given path. |
| 33 | + --folders, -F Sort all folders in a given path |
| 34 | + no flags, Sorts all files and folders in a given path. |
| 35 | + |
| 36 | + <path> is the file path to directory that needs sorting |
| 37 | + |
| 38 | + Examples |
| 39 | + Sort all files and folders in the Downloads folder. |
| 40 | + $ sortifiler ~/Downloads |
| 41 | + Sorting ... |
| 42 | + Sorted ✔ |
| 43 | + |
| 44 | + Sort all files on the Desktop |
| 45 | + $ sortifiler ~/Desktop --files |
| 46 | + Sorting files ... |
| 47 | + Sorted ✔ |
| 48 | + |
| 49 | + Sort all folders in the Downloads folder |
| 50 | + $ sortifiler ~/Downloads --folders |
| 51 | + Sorting folders ... |
| 52 | + Sorted ✔ |
| 53 | + |
| 54 | + Sort all folders and meta files in the current directory |
| 55 | + $ sortifiler . --folders --meta |
| 56 | + Looking for meta files ... |
| 57 | + Sorting folders ... |
| 58 | + Sorted ✔ |
| 59 | +``` |
| 60 | + |
| 61 | +## How does the sorting work? |
| 62 | + |
| 63 | +- Folders are classified using the best matching *_Type* folder based on the files within that folder (only 1 level down). |
| 64 | +- Files are classified as follows: |
| 65 | + |
| 66 | +| _Type Folder | File Extension | |
| 67 | +| :------------- | :--------------------------------------- | |
| 68 | +| _Books | ".epub", ".mobi" | |
| 69 | +| _Documents | ".pdf", ".txt", ".doc", ".docx", ".ppt", ".pptx", ".md", ".json", ".ods", ".log", ".xls", ".xlsx", ".ttf" | |
| 70 | +| _Images | ".png", ".jpg", ".jpeg", ".gif", ".xcf", ".stl", ".blend", "*.obj", "*.mtl", "*.3ds", "*.tga", ".icns" | |
| 71 | +| _Music | ".mp3", ".wav", ".flac", ".m4a", ".ogg", ".mid", ".asd", ".m3u", ".pls", ".alp", ".asx", ".bfxrsound", ".m3u8", ".als", ".m4r" | |
| 72 | +| _Programs | ".dmg", ".exe", ".sh", ".app", ".pkg", ".apk", ".ipa", ".gba", ".gbc" | |
| 73 | +| _Scripts | ".py", ".java", ".class", ".sh", "*.cs", "*.r", ".itermcolors", ".terminal", ".theme", ".gbaskin", ".tmtheme", ".resbackup" | |
| 74 | +| _Torrents | ".torrent" | |
| 75 | +| _Videos | ".mkv", ".mp4", ".mov", ".mpeg", ".webm", ".srt", ".avi" | |
| 76 | +| _Web | ".html", ".css", ".js", ".htm" | |
| 77 | +| _Zipped | ".zip", ".rar", ".7z", ".tar.gz", ".tar", ".gz", "*.unitypackage", "*.prefab", ".fbx" | |
| 78 | + |
| 79 | +- **Note:** This list maybe outdated please check out [SortiFiler](https://github.com/yougotwill/sortifiler) for the latest info. |
| 80 | + |
| 81 | +## Development |
| 82 | + |
| 83 | +### Contributing |
| 84 | + |
| 85 | +1. Fork it |
| 86 | +2. Create your feature branch: `git checkout -b feature/my-new-feature` |
| 87 | +3. Commit your changes: `git commit -am 'Add some feature'` |
| 88 | +4. Push to the branch: `git push origin feature/my-new-feature` |
| 89 | +5. Submit a pull request |
| 90 | + |
| 91 | +### Requirements / Dependencies |
| 92 | + |
| 93 | +- npm |
| 94 | + |
| 95 | +## Version |
| 96 | + |
| 97 | +0.1.0 |
| 98 | + |
| 99 | +## License |
| 100 | + |
| 101 | +[MIT](LICENSE) |
0 commit comments