fix env name

This commit is contained in:
Julian Freeman
2026-04-04 17:02:33 -04:00
parent 1d53f42d10
commit 66b6ac4738

View File

@@ -185,13 +185,16 @@ fn get_logs_history() -> Vec<LogPayload> {
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();
}
}
}