3 个版本
0.1.9 | 2023 年 6 月 25 日 |
---|---|
0.1.8 | 2023 年 5 月 29 日 |
在 Windows API 中排名 261
每月下载量 62
165KB
703 行代码(不包括注释)
包含 (Windows DLL, 95KB) Everything64.dll
Everything-rs
此包提供了对 everything-sys-bindgen
的安全封装。
everything-sys-bindgen
是一个 Rust 绑定到 Everything SDK,允许与 everything 服务进行 IPC 通信。
Everything 服务在 Windows 上索引文件,并提供一种表达式的查询语法来搜索文件。
有关更多信息,请参阅 Everything SDK 文档。
有关示例,请参阅 docs.rs 文档。
lib.rs
:
Everything
此包提供了对 everything-sys-bindgen
的安全封装。
everything-sys-bindgen
是一个 Rust 绑定到 Everything SDK,允许与 everything 服务进行 IPC 通信。
Everything 服务在 Windows 上索引文件,并提供一种表达式的查询语法来搜索文件。
有关更多信息,请参阅 Everything SDK 文档。
示例
use everything_rs::{Everything, EverythingRequestFlags, EverythingSort, EverythingError};
fn main() -> Result<(), EverythingError> {
let mut everything = Everything::new();
everything.set_search("test");
everything.set_request_flags(
EverythingRequestFlags::FullPathAndFileName
| EverythingRequestFlags::Size
| EverythingRequestFlags::DateCreated
);
everything.set_sort(EverythingSort::DateCreatedDescending);
everything.query()?;
let num_results = everything.get_num_results();
assert!(num_results > 0);
for (i, path) in everything.full_path_iter().flatten().enumerate() {
let size = everything.get_result_size(i as u32)?;
let date_created = everything.get_result_created_date(i as u32)?;
println!("{}: {} {} {}", i, path, size, date_created);
}
Ok(())
}
依赖项
~0.3–1.1MB
~24K SLoC