moove is a command line tool for renaming and moving files and directories using a text editor.
π¨ Features | π Usage | π₯ Getting started | π License
- Displays file and directory names like
lsin a text editor, and renames or moves them exactly as you edit them. - A pre-compiled single executable without any dependencies.
- Supports Linux, Mac and Windows.
- Supports wildcard patterns, including Windows.
- Given paths have to be convertible to UTF-8.
- Collisions are detected as much as possible, but not perfectly. Does not verify all paths such as hard links and symbolic links.
Usage: moove [OPTIONS] [PATHS]...
Arguments:
[PATHS]... Paths or wildcard patterns to move
Options:
-v, --verbose Verbose output
-s, --sort Sort in the natural order
-a, --absolute Treat as absolute paths
-d, --directory Directories themselves, not their contents
-w, --with-hidden Include hidden files
-e, --exclude-pattern <PATTERN> Exclude regular expression pattern
-c, --copy Copy without moving
-u, --dry-run Dry-run
-o, --oops Abort in case of collision (prompt as default)
-f, --force Overwrite existing files without prompting
-F, --force-dir Overwrite existing directories without prompting (implies --force)
-q, --quiet No output to stdout/strerr even if error
-h, --help Print help
-V, --version Print version- Displays file and directory names like
lsin a text editor. - You can edit the list as you want to operate. The order of lines after editing corresponds to the original one. Empty lines will be ignored.
- Operations are canceled if you close the editor without saving.
- If a line starts with
//, the file and directory (and its contents) will be removed regardless of modification of the remaining part of the line. - Destination directories will be created automatically.
- In case of line number change or collision, asks whether to re-edit or abort. Aborts without asking if
--oopsis specified. - With
--force, an existing destination file (or symlink to a file) is overwritten without prompting. Errors if the destination is a directory or a symlink to a directory. - With
--force-dir, an existing destination directory (or symlink to a directory) is also overwritten: on move, the destination is removed and replaced; on copy, the contents are merged. Implies--forcefor file destinations. Errors if the source is a symlink to a directory.
- Default command line options can be specified by the environment variable
MOOVE_OPTIONS. - The default editor is searched in the following order.
- environment variable
VISUAL - environment variable
EDITOR - hardcoded lists
- platform-specific generic file openers
- environment variable
- Download the archive for your platform from the latest release.
- Release assets are built automatically for Linux, macOS, and Windows.
-
Windows
winget install moove
-
cargo
cargo install moove
- Package for various platforms
- Exclude .gitignore option
- Logging
- Recursive option
- Maximum depth option
- Depth option
Licensed under either of
- Apache License, Version 2.0 or https://www.apache.org/licenses/LICENSE-2.0
- MIT license or https://opensource.org/licenses/MIT
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Β© 2023 Urin
