Giter Site home page Giter Site logo

zephira58 / filesorterx Goto Github PK

View Code? Open in Web Editor NEW
22.0 2.0 2.0 3.59 MB

FileSorterX is an automatic file sorting application that sorts your files into folders based on their file extension. With FileSorterX, you can easily keep your files organized and find what you need quickly.

License: MIT License

Rust 100.00%
automation autosort filemanagement filesystem sorting

filesorterx's Introduction



➡️ Discord | Documentation ⬅️

Welcome to FileSorterX

Sort files in a flash with lightning-fast automation.

Logo

📦 Cargo 💾 Binary
Cargo
cargo install FileSorterX Release page

🤔 What's FileSorterX

FileSorterX-demo-gif

FileSorterX is a small command line application that automatically sorts files based on their file extension and places them into the appropriate folder. The application is written in Rust, which makes it very very fast. Only taking up to a second to sort over 10,000 files!. As well as being very reliable and efficient.

🎉 Features

  • Sorts thousands of files within a second?
  • Provides one of the best libs for file sorting?
  • Has A modern, easy and comfy cli interface?
  • Allows cli users to customize sorting locations?
  • Has a self updating feature; so you never have to worry about being out of date?
  • Provides a benchmarking tool so you can see how it performs for yourself?
  • Allows for logging and verbosity?
  • Saves you hours of time from sorting manually or programming one yourself?
  • Bakes you a cake?

💻 Cli First

FileSorterX is a powerful command-line interface (CLI) tool designed to help users automatically organize and sort their files. What sets FileSorterX apart from other similar tools is the separation between its library and the CLI tool. The library provides all of the core functionality like the creation and sorting of files. While the CLI tool serves as a convenient interface for users to interact with the library think of it as a cli wrapper. Although the primary focus is on the CLI application, the separation of the library and the tool ensures that users have the flexibility to integrate the sorting and organization functionality into their own projects or applications. With FileSorterX, users can easily manage and organize their files without having to spend hours doing it manually.

Contributors

Xanthus
Xanthus

🤔 💻 🎨 🚧
FlameOrchid
FlameOrchid

💻 🐛
Wolfen
Wolfen

⚠️
okalm
okalm

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!

filesorterx's People

Contributors

allcontributors[bot] avatar dependabot[bot] avatar zephira58 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

filesorterx's Issues

Telemetry is Opt-out

  1. Telemetry is enabled by default, which will not be met well in the Linux community.
  2. Telemetry collects data that can identify user (e.g. input_dir = "/exl_arch/—3—PROJ—3—/eurystheus/src/" or input_dir = /home/exl/—2—POLY—2—/music/).

Solution: Make telemetry Opt-in, so when user encounters error they can enable this feature once and submit useful data that way. Also this will not create ton of useless data.

Add cargo benchmarks

As it stands right no I don't actually know how to make benchmarks/good ones. Though I'll learn with time. This one's on the backburner for now

Add multithreading support

Look into and try to implement multithreading in the cli application for the logical operations; such as moving files or creating files.

Remove the self update feature from the Linux version

Due to the self updater fetching the update from GitHub; it requires open ssl. Which I cant seem to get to compile on Linux; meaning that to have a Linux version available the self updating feature will have to be removed.

(Only for the Linux platform, windows will still have the self update feature)

Add github wiki page

Add a wiki page detailing how to contribute; how to use the application. etc etc.

Add Basic telemetry

Add some basic optional telemetry that will collect things like The command used; Operating system; Time taken and more info; then use that to generate a unique id to be used in bug reports.

Mostly a small QOL epically for the development of the project so people can send their issue; anything they think is important. And the UUID of the command ran; then we can use all that information to figure out exactly what went wrong and why.

I know some users aren't a fan of telemetry so the feature can be disabled entirely with a flag (-d / --disable-telemetry).

Wrong syntax in the README

Hello,

While trying out your software I just followed the example given in the README and it seems the syntax isn't correct.

/tmp/00 % ~/bin/FileSorterX_v1.2.0_x86_64-unknown-freebsd customsort --input /tmp/00 --output /tmp/00/textfolder --extension txt --verbose 
error: unexpected argument '--input' found

  tip: a similar argument exists: '--inputdir'

Usage: FileSorterX_v1.2.0_x86_64-unknown-freebsd customsort <--inputdir <INPUTDIR>|--outputdir <OUTPUTDIR>|--extension <EXTENSION>|--verbose|--log>

For more information, try '--help'.

Then I just used the syntax given by the tip and usage and it worked.

/tmp/00 % ~/bin/FileSorterX_v1.2.0_x86_64-unknown-freebsd customsort --inputdir /tmp/00 --outputdir /tmp/00/textfolder --extension txt --verbose                                     % 16:05:02
Moved file: "/tmp/00/file_3.txt" to "/tmp/00/textfolder"
Moved file: "/tmp/00/file_4.txt" to "/tmp/00/textfolder"
Moved file: "/tmp/00/file_5.txt" to "/tmp/00/textfolder"
Moved file: "/tmp/00/file_2.txt" to "/tmp/00/textfolder"
Moved file: "/tmp/00/file_1.txt" to "/tmp/00/textfolder"
Moved file: "/tmp/00/file_6.txt" to "/tmp/00/textfolder"

So --inputdir --outputdir are correct but not --input and --output .

OS: FreeBSD 13.1-RELEASE
Package version: FileSorterX_v1.2.0_x86_64-unknown-freebsd

Add macOS support

I would love to open this application to be macOS compatible; but sadly I cant seem to find a reliable way to cross-compile from windows to macOS. As I don't have a mac device to compile it natively on. This will have to go in the backburner until I can either find a reliable way to cross compile; or a contributor wishes to port the application

FreeBSD Missing Dependency

Hi there,

FileSorterX complains about a missing dependency libssl.so.11 which is installed by the package openssl, it's not installed by default at least in my case.
Once openssl is installed FileSortedX doesn't give any warning and works.

OS: FreeBSD 13.1-RELEASE
Package version: FileSorterX_v1.2.0_x86_64-unknown-freebsd

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.