You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#路径使用%LOCALAPPDATA%环境变量无效,删除目录按钮点击无响应无报错

问题原因

你的代码中使用了包含环境变量占位符%LOCALAPPDATA%的路径,.NET 原生的IO类(Directory.Exists、DirectoryInfo)不会自动解析这类系统环境变量占位符,实际传入的是包含%字符的无效路径,导致Directory.Exists(path)始终返回false,删除逻辑从未触发,所以没有任何执行效果也不会抛出错误。

修复方案
  • 调用Environment.ExpandEnvironmentVariables()方法解析路径中的环境变量占位符,得到真实的本地路径
  • 可按需添加异常捕获逻辑,处理权限不足、目录内文件被占用等可能的异常场景,方便问题排查
  • 复用解析后的路径即可,不需要重复定义相同的路径字符串
private void CacheClear_Click(object sender, RoutedEventArgs e)
{
    // 解析环境变量得到真实路径
    string path = Environment.ExpandEnvironmentVariables(@"%LOCALAPPDATA%\FiveM\FiveM Application Data\data\cache");

    if (Directory.Exists(path))
    {
        try
        {
            Directory.Delete(path, true);
            // 可在此处添加删除成功的提示逻辑
        }
        catch (Exception ex)
        {
            // 可在此处添加异常提示逻辑,比如输出错误信息方便排查
            // MessageBox.Show($"删除失败:{ex.Message}");
        }
    }
}

注意:如果解析路径后删除仍失败,大概率是程序运行权限不足,或者目录内有文件正在被其他进程占用,可以通过上述异常捕获的错误信息定位具体问题。

内容的提问来源于stack exchange,提问作者OssieFromDK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 17:36:04