/file-sorter

Cross-platform file sorter providing various strategies for automatically sorting files, including Xbox, date and file type.

Primary LanguageC#GNU General Public License v3.0GPL-3.0

File Sorter

The Free Cross-Platform File Sorter

This file sorter provides various strategies for automatically sorting files. The original structure of the files is maintained as the sorter works by copying files from a source directory to a destination directory, provided by the user.

Important

Some sorting strategies may rely on file naming conventions, such as xbox and book files.

Table of Contents

Current Strategies

Consider the following directory and files:

 Files
  ├── Photos
  │   └── AFileOne.jpg (12/24/2023)
  │ 
  ├── BFileTwo.mp3 (11/14/2023)
  │ 
  └── BFileThree.pdf (11/20/2022)

Sort the files by the date and time they were last edited using the DateTimeDirectoryManager.

  Files
  ├── 2022
  │   └── 20 Nov 2022 [BFileThree].pdf
  │ 
  └── 2023
      ├── 14 Nov 2023 [BFileTwo].mp3 
      └── 24 Dec 2023 [AFileOne].jpg        

Sort the files into alphabetical folders using the AlphabetDirectoryManager.

  Files
  ├── A
  │   └── AFileOne.jpg
  │ 
  └── B
      ├── BFileThree.pdf
      └── BFileTwo.mp3   

Sort the files into folders by category using the FileTypeDirectoryManager.

  Files
  ├── Images
  │   └── AFileOne.jpg
  │ 
  ├── Sounds
  │   └── BFileTwo.mp3   
  │ 
  └── Documents
      └── BFileThree.pdf

Sort the files into folders by extension type using the FileExtensionDirectoryManager.

  Files
  ├── jpg
  │   └── AFileOne.jpg
  │ 
  ├── mp3
  │   └── BFileTwo.mp3   
  │ 
  └── pdf
      └── BFileThree.pdf

Consider the following directory and files:

  Files
  ├── Xbox Game DVR
  │   └── Battlefield™ 1-2016_10_26-13_59_27.mp4
  │ 
  └── Xbox Screenshots
      ├── Battlefield™ 1-2016_10_26-13_59_27.jpg
      └── ARK_Survival Evolved-2016_01_16-21_19_42.jpg  

Sort files originating from xbox using the XboxDirectoryManager.

Files
  ├── Battlefield
  │   ├── Clips
  │   │   └── Battlefield™ 1-2016_10_26-13_59_27.mp4
  │   └── Screenshots
  │       └── Battlefield™ 1-2016_10_26-13_59_27.jpg
  │ 
  └── ARK Survival Evolved
      └── Screenshots
          └── ARK_Survival Evolved-2016_01_16-21_19_42.jpg

Consider the following directory and files:

  Files
  ├── Docs
  │   ├── Author A - Title A.pdf
  │   └── Title C.pdf
  │ 
  └── Research
      ├── Author B - Title A.pdf
      ├── Author B - Title A.png
      └── Author B - Title B.pdf

Sort books into folders by author using the LibraryDirectoryManager.

Files
  └── Books
       ├── Author A
       │   └── Author A - Title A
       │	└── Author A - Title A.pdf
       │       
       ├── Author B
       │    ├── Author B - Title A
       │    │	├── Author B - Title A.pdf
       │    │	└── Author B - Title A.png
       │    └── Author B - Title B
       │	└── Author B - Title B.pdf
       │
       └── Unknown Author
           └── Title C
		└── Title C.pdf