From 66b6ac47381dfa4dd122541bd81f8076fdb543ac Mon Sep 17 00:00:00 2001 From: Julian Freeman Date: Sat, 4 Apr 2026 17:02:33 -0400 Subject: [PATCH] fix env name --- src-tauri/src/lib.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index eaf064c..e2a4712 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -185,13 +185,16 @@ fn get_logs_history() -> Vec { fn expand_win_path(path: &str) -> PathBuf { let mut expanded = path.to_string(); let env_vars = [ - "AppData", "LocalAppData", "ProgramData", "SystemRoot", "SystemDrive", "TEMP", "USERPROFILE" + "AppData", "LocalAppData", "ProgramData", "SystemRoot", "SystemDrive", "TEMP", "USERPROFILE", "HOMEDRIVE", "HOMEPATH" ]; + for var in env_vars { - let placeholder = format!("%{}%", var); - if expanded.contains(&placeholder) { + // 创建不区分大小写的正则表达式,匹配 %VAR% + let re = Regex::new(&format!(r"(?i)%{}%", var)).unwrap(); + if re.is_match(&expanded) { if let Ok(val) = std::env::var(var) { - expanded = expanded.replace(&placeholder, &val); + // 使用正则表达式替换所有匹配项 + expanded = re.replace_all(&expanded, val.as_str()).to_string(); } } }