Crates.io | rfm |
lib.rs | rfm |
version | 1.0.2 |
source | src |
created_at | 2020-12-16 12:00:38.180163 |
updated_at | 2021-12-26 23:38:51.01869 |
description | Expanded options for interacting with files and directories. Creating/copying/moving etc. File manager, only inside Rust 🦀 |
homepage | https://github.com/dmtrshat/rfm |
repository | https://github.com/dmtrshat/rfm |
max_upload_size | |
id | 323570 |
size | 27,857 |
File manager, only inside Rust 🦀
rfm
is a convenient and intuitive way to interact with files on OS. Function naming is similar to Unix commands (ls
, mkdir
, mv
, rm
, cp
, touch
etc.), so you can easily figure out how to use it.
Add the latest rfm version to your Cargo.toml
:
[dependencies]
rfm = "X.Y.Z" #replace it with the current version
For example:
extern crate rfm;
use std::{
io::Result,
path::{Path, PathBuf},
};
fn main() -> Result<()> {
let dir_from_1 = Path::new("./foo").to_path_buf();
let dir_from_2 = Path::new("./bar").to_path_buf();
let dir_to = Path::new("./baz").to_path_buf();
// check dir for existing files/dirs
if rfm::ls(&dir_to)?.len() > 0 {
// clean dir
rfm::clean(&vec![&dir_to])?;
}
let need_to_move: Vec<&PathBuf> = vec![&dir_from_1, &dir_from_2];
// Move some files/dirs
rfm::mv(&need_to_move, &dir_to)?;
Ok(())
}
Function | Description |
---|---|
rfm::ls | Read the directory/directories and return the content. dir - takes the path to the directory whose contents you want to retrieve. |
rfm::clean | Clears the directory/directories of all child files and directories on the passed path. paths - takes a list of paths of what you want to clean. |
rfm::mkdir | Creates a directory/directories on the passed path. Note, the function creates all missing directories if they occur in the passed parameter. dir_paths - takes a list of paths of what you want to create. |
rfm::touch | Creates a file/files in the passed path. file_paths - takes a list of paths of what you want to create. |
rfm::cp | Copies files and directories, including nested files and directories. from - takes a list of paths of what you want to copy. to - destination path. |
rfm::mv | Moves files and directories, including nested files and directories. from - takes a list of paths of what you want to copy. to - destination path. |
rfm::rm | Deletes files/directories (including nested files/directories). from - takes a list of paths of what you want to delete. |
rfm::extract | Extracts all files from the directory, including nested files. from - takes a list of paths of where you want to extract files from. to - destination path. |
rfm::get_size | Returns the size of a file or directory in bytes, path - the path to the directory/file whose size you want to get. |
Stay Rusty 🦀
Made by Dmitry Shatokhin with love ❤️