6 个版本
0.1.5 | 2024 年 1 月 23 日 |
---|---|
0.1.4 | 2024 年 1 月 22 日 |
#1544 在 命令行工具
每月 53 次下载
27KB
170 代码行
- 您可以使用此软件包像资源管理器一样复制、移动、删除或重命名文件或文件夹。
- 当您将文件移动到另一个文件夹时,您可以在资源管理器中撤销或重做。
- 如果是大文件,则显示进度窗口。
- 有关
--flags
选项的详细信息,请参阅IFileOperation
::SetOperationFlags
安装
$ cargo add ifop
软件包示例
Copy
单个文件
// No flags
ifop::copy_file("c:\\src\\file.text", "c:\\dest", None).unwrap();
// With flags
ifop::copy_file("c:\\src\\file.text", "c:\\dest", Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
Copy
多个文件
// No flags
ifop::copy_files(vec!["c:\\src\\file1.txt", "c:\\src\\file2.txt"], "c:\\dest", None).unwrap();
// With flags
ifop::copy_files(vec!["c:\\src\\file1.txt", "c:\\src\\file2.txt"], "c:\\dest", Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
Move
单个文件
// No flags
ifop::move_file("c:\\src\\file.text", "c:\\dest", None).unwrap();
// With flags
ifop::move_file("c:\\src\\file.text", "c:\\dest", Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
Move
多个文件
// No flags
ifop::move_files(vec!["c:\\src\\file1.txt", "c:\\src\\file2.txt"], "c:\\dest", None).unwrap();
// With flags
ifop::move_files(vec!["c:\\src\\file1.txt", "c:\\src\\file2.txt"], "c:\\dest", Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
Rename
单个文件
// No flags
ifop::rename_file("c:\\src\\folder1", "folder2", None).unwrap();
// With flags
ifop::rename_file("c:\\src\\folder1", "folder2", Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
Rename
多个文件
// No flags
ifop::rename_files(vec!["c:\\src\\folder1\\file1.txt", "c:\\src\\folder2\\file2.txt"], "file3.txt", None).unwrap();
// With flags
ifop::rename_files(vec!["c:\\src\\folder1\\file1.txt", "c:\\src\\folder2\\file2.txt"], "file3.txt", Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
Delete
单个文件
// No flags
ifop::delete_file("c:\\src\\folder1", None).unwrap();
// With flags
ifop::delete_file("c:\\src\\folder1", Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
Delete
多个文件
// No flags
ifop::delete_files(vec!["c:\\src\\folder1\\file1.txt", "c:\\src\\folder2\\file2.txt"], None).unwrap();
// With flags
ifop::delete_files(vec!["c:\\src\\folder1\\file1.txt", "c:\\src\\folder2\\file2.txt"], Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
- 创建文件
// No flags
ifop::create_file("c:\\", "file.txt", None).unwrap();
// With flags
ifop::create_file("c:\\", "file.txt", Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
- 创建文件夹
// No flags
ifop::create_folder("c:\\", "folder", None).unwrap();
// With flags
ifop::create_folder("c:\\", "folder", Some(
windows::Win32::UI::Shell::FOF_ALLOWUNDO |
windows::Win32::UI::Shell::FOF_NORECURSION
)).unwrap();
命令用法
编译
cargo build --examples
cd target/debug/examples
命令示例
# Copy single file
ifop copy --src <filename|folder> --dest <folder>
# Copy multiple files
ifop copy --src <filename|folder>,<filename|folder>... --dest <folder>
# Move single file
ifop move --src <filename|folder> --dest <folder>
# Move multiple files
ifop move --src <filename|folder>,<filename|folder>... --dest <folder>
# Rename single file
ifop rename --src <filename|folder> --dest <folder>
# Rename multiple files
ifop rename --src <filename|folder>,<filename|folder>... --dest <folder>
# Delete single file
ifop delete --target <filename|folder>
# Delete multiple files
ifop delete --target <filename|folder>,<filename|folder>...
# Create file
ifop new-file --root <root_path> --name <name>
# Create folder
ifop new-folder --root <root_path> --name <name>
# With `--flags`
ifop <command> [options] --flags FOF_ALLOWUNDO|FOF_CONFIRMMOUSE|....
使用方法
Commands:
copy Copy files from --src to --dest
delete Delete files from --target
rename Rename file from --src to --dest
move Move files from --src to --dest
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
支持 | 较低版本 |
---|---|
最低支持的客户端 | Windows Vista [仅桌面应用程序] |
最低支持的服务器 | Windows Server 2008 [仅桌面应用程序] |
目标平台 | Windows |
依赖项
~129MB
~2M SLoC