写在代码前面
现在的QQ、TIM都支持发送闪照功能,闪照只有5s的查看时间,之后会自动销毁。本着程序员的探索精神,发现TIM闪照销毁后在diskcache目录会存在缓存文件,只要将缓存文件后面加上.jpg后缀就可以正常打开了。这样等于是把闪照保存了下来。 由于diskcache目录下的缓存文件较多,总不能一个个的改,于是想到最近在学习Rust语言,就用Rust来练手,写一个批量修改目录下文件名的小工具。
Rust代码
use std::fs;
use std::path::Path;
use std::error::Error;
fn main() {
let path = Path::new("./");
for entry in fs::read_dir(path).expect("读取目录失败") {
if let Ok(entry) = entry {
let file = entry.path();
let filename = file.to_str().unwrap();
let new_filename = format!("{}.jpg", filename);
match fs::rename(filename, &new_filename) {
Err(why) => panic!("{} => {}: {}", filename, new_filename, why.description()),
Ok(_) => println!("{} => {}", filename, new_filename),
}
}
}
}
代码解读
先是通过Path::new()得到一个当前路径的实例,然后调用fs::read_dir()方法读取当前目录,再用for循环遍历。接下来就是拿到文件名,然后用format!()宏将文件名加上.jpg后缀,在用fs::rename()方法来重命名文件。