【发布时间】:2013-07-29 20:23:24
【问题描述】:
好吧,我似乎无法从桌面删除一个 lnk 文件。
string pathtoLink = "G:\\Personal Files\\Desktop\\" + appName + ".lnk";
File.SetAttributes(pathtoLink.Trim(), FileAttributes.Normal);
File.Delete(pathtoLink);
do
{
File.Delete(pathtoLink);
} while (File.Exists(pathtoLink) == true);
上面的代码将进入 do 循环 - 并无限期地循环,它确认文件存在于该位置 - 但根本不会删除!我可以从任何其他位置删除快捷方式没有问题,并且可以删除桌面上的实际文件 - 但 lnk 文件不会移动。
任何关于正在发生的事情的想法将不胜感激。
【问题讨论】:
-
为什么要使用 do 循环?您可以检查文件是否存在并将其删除并用 try/catch 将其包围以捕获错误
-
我同意循环是不必要的,但它只解释了为什么它会永远运行,并没有回答为什么它不删除。
-
循环只是为了确认文件被找到但即使调用delete后也没有被删除,它不会包含在任何解决方案中
标签: c# shortcut delete-file