Files Organizer in Go
A little tool to help organize files easier.
Get Go from https://go.dev/doc/install
Or via package manager: chocolatey:
choco install go
Please making sure your go version is up to date.
# Current latest version 1.77.7
go version
Install via go command:
go install github.com/kwchang0831/fog@latest
This is an old prototype project of mine a couple of years back. It is still usable surprisely.
However, Not well tested. So, Not recommended to use in any production environment.
Please use it at your own risk.
Every committing changes will generate a log for you to revert back.
Move files in the folder in current directory out of their folders.
fog folderout "." -w
"."
: Target directory. Defaults to "."
if omitted.
-w
: Commit changes. Without the flag wil be dry run.
Before | After |
---|---|
|
|
Move SomeVideo_SXXEXX into their individual folder.
fog folderin "." -w
"."
: Target directory. Defaults to "."
if omitted.
-w
: Commit changes. Without the flag wil be dry run.
Before | After |
---|---|
|
|
Undo committed actions from target log file.
fo revert -w [pathToTheLog]
-w
: Commit changes. Without the flag wil be dry run.
fog replacename "\[Bad\]" "" -d "." -w
-d
: Set directory.
-w
: Commit changes. Without the flag wil be dry run.
Before | After |
---|---|
|
|
fog replacename "\[Bad\]" "" -d "." -m1 -w
-d
: Set directory.
-w
: Commit changes. Without the flag wil be dry run.
-m1
: Mode 1: Folder name only.
Before | After |
---|---|
|
|
fog replacename "\[Bad\]" "" -d "." -m2 -w
-d
: Set directory.
-w
: Commit changes. Without the flag wil be dry run.
-m2
: Mode 2: Folder and File name.
Before | After |
---|---|
|
|
fog replacename "(.*)(SomeVideo)(.*)(S[0-9]+E[0-9]+)(.*)(\.(mp4|avi))" "$2-$4$6" -d "." -w
-d
: Set directory.
-w
: Commit changes. Without the flag wil be dry run.
Learn more and try regex, see regex101.
Before | After |
---|---|
|
|
For more information, please check help command.
fog
Output
File Organizer in Go provides commands to help you batch edit filenames and organize files.
Usage:
fog [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
folderin move files into their own folders.
folderout Move files out of folders
help Help about any command
move Move matching files/folders into target directory.
renameafterfolder Rename files inside matching folders with the folder name.
replacename Replace name using the search pattern and replace pattern.
revert revert commands issued.
rmemptydir remove empty folders.
Flags:
-h, --help help for fog
Use "fog [command] --help" for more information about a command.
Get dependencies
go mod tidy
Build
go build