如何删除当前用户localappdata中的目录

问题描述 投票:0回答:3
System.IO.DirectoryInfo di = new DirectoryInfo(@"C:\Users\%userprofile%\AppData\Local\MyFolder");

foreach (FileInfo file in di.GetFiles())
{
    file.Delete(); 
}
foreach (DirectoryInfo dir in di.GetDirectories())
{
    dir.Delete(true); 
}

我使用此代码删除当前使用的用户中 %localappdata% 中的目录。但它说该文件夹不存在。我不知道如何写路径。

谢谢你

c# .net
3个回答
1
投票

您可以使用以下代码:

string path;
path = @"%LOCALAPPDATA%";
path = Environment.ExpandEnvironmentVariables(path);

您可以参考以下链接了解更多详情: https://learn.microsoft.com/en-us/dotnet/api/system.environment.expandenvironmentvariables?view=net-5.0


1
投票

问题在于:

"C:\Users\%userprofile%\AppData\Local\MyFolder"
扩展为
"C:\Users\C:\Users\username\AppData\Local\MyFolder"

你应该做

"%userprofile%\AppData\Local\MyFolder"

在这里,断点和检查错误消息等基本调试技能可以为您省去很多麻烦。调试器无疑会告诉您哪个目录不存在。

即使只是将您想要的路径复制粘贴到资源管理器中也会发现问题。


0
投票

感谢您的帮助,微软的“许可证已过时”是一种痛苦,非常难以解决,微软不让开发人员在意外疾病导致他们无法使用我的 Visual Studio 两个月的情况下进入他们的项目感到羞耻IDE

© www.soinside.com 2019 - 2024. All rights reserved.