fix env name
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user