6 个版本

0.1.5 2024 年 1 月 23 日
0.1.4 2024 年 1 月 22 日

#1544命令行工具

Download history 36/week @ 2024-04-01

每月 53 次下载

MIT/Apache

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