| Crates.io | rfm |
| lib.rs | rfm |
| version | 1.0.2 |
| created_at | 2020-12-16 12:00:38.180163+00 |
| updated_at | 2021-12-26 23:38:51.01869+00 |
| 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 ❤️