C#控制台应用删除文件夹:用Debug目录路径替代绝对路径
解决C#控制台应用路径适配问题
要让程序在任意设备上运行,需把固定绝对路径替换为基于程序启动目录的动态路径,具体修改方案如下:
核心思路
利用C#内置API获取程序运行时的基础目录,再通过Path.Combine拼接目标子路径Cache\EBWebView,彻底摆脱硬编码路径的适配限制。
修改后的完整代码
Console.ForegroundColor = ConsoleColor.Magenta; Console.Title = "Cachecleaner"; Thread.Sleep(2000); // 动态获取程序运行目录,拼接目标缓存路径 string baseDir = AppDomain.CurrentDomain.BaseDirectory; string targetPath = Path.Combine(baseDir, "Cache", "EBWebView"); DirectoryInfo Cache = new DirectoryInfo(targetPath); foreach (FileInfo files in Cache.GetFiles()) { files.Delete(); Console.WriteLine("Files Deleted"); } foreach(DirectoryInfo folders in Cache.GetDirectories()) { folders.Delete(true); Console.WriteLine("Folders Deleted"); }
关键API说明
AppDomain.CurrentDomain.BaseDirectory:获取当前程序集所在的目录(即Debug/Release输出目录),是最稳定的程序启动路径获取方式。Path.Combine:自动适配不同系统的路径分隔符(Windows用\,Linux用/),避免手动拼接路径出现格式错误。
额外优化建议
可添加目录存在性判断,避免目录不存在时抛出异常:
if (Cache.Exists) { // 执行删除文件和文件夹的逻辑 } else { Console.WriteLine("目标缓存目录不存在"); }
内容的提问来源于stack exchange,提问作者BA55H4XQR
相关产品推荐
相关产品推荐

