diff --git a/src/rcloneInstall.rs b/src/rcloneInstall.rs index 7534c18..7011e11 100644 --- a/src/rcloneInstall.rs +++ b/src/rcloneInstall.rs @@ -52,4 +52,23 @@ impl RcloneApp { println!("rclone успешно установлен!"); Ok(()) } + + pub fn run_command(&self, args: &[&str]) -> Result { + println!( + "Запускаю: {} {}", + self.rclone_path.display(), + args.join(" ") + ); + + let output = Command::new(&self.rclone_path) + .args(args) + .output() + .map_err(|e| format!("Ошибка запуска: {}", e))?; + + if output.status.success() { + Ok(String::from_utf8_lossy(&output.stdout).to_string()) + } else { + Err(String::from_utf8_lossy(&output.stderr).to_string()) + } + } }