feat: add -R or --rm-enc-file
This commit is contained in:
@@ -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(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user