feat: add -R or --rm-enc-file

This commit is contained in:
2023-06-22 21:28:18 +08:00
parent 2bbc62e6ea
commit f845518b40

View File

@@ -15,7 +15,17 @@ use rust_util::{failure_and_exit, information, opt_result, success, warning, XRe
// see https://git.hatter.ink/hatter/crypto/src/branch/master/src/main/java/me/hatter/tools/crypto/stream/DecryptTool.java // see https://git.hatter.ink/hatter/crypto/src/branch/master/src/main/java/me/hatter/tools/crypto/stream/DecryptTool.java
fn main() -> XResult<()> { fn main() -> XResult<()> {
let args: Vec<String> = std::env::args().skip(1).collect(); let mut rm_enc_file: bool = false;
let args: Vec<String> = std::env::args()
.skip(1)
.filter(|arg| {
if arg == "-R" || arg == "--rm-enc-file" {
rm_enc_file = true;
return false;
}
true
})
.collect();
if args.len() != 3 { if args.len() != 3 {
failure_and_exit!("crypt.rs <key-hex> <file-in> <file-out>"); failure_and_exit!("crypt.rs <key-hex> <file-in> <file-out>");
} }
@@ -70,6 +80,12 @@ fn main() -> XResult<()> {
opt_result!(fs::write(&file_out, decrypted), "Write file out: {}, failed: {}", file_out); opt_result!(fs::write(&file_out, decrypted), "Write file out: {}, failed: {}", file_out);
success!("Write file out succeed!"); success!("Write file out succeed!");
if rm_enc_file {
information!("Remove file: {}", file_in);
if let Err(e) = fs::remove_file(file_in) {
warning!("Remove file: {} failed: {}", file_in, e);
}
}
Ok(()) Ok(())
} }