file.move ، لماذا أحصل على fileNotfoundException؟ الملف موجود
-
22-09-2019 - |
سؤال
إنه غريب للغاية لأن البرنامج يكرر الملف! Outfolder و Infolder كلاهما في H:/ My External HD باستخدام Windows 7. الفكرة هي نقل جميع المجلدات التي تحتوي فقط على ملفات مع توسيع نطاق DB و SVN. عندما أحاول نقل المجلد ، أحصل على استثناء. يخبرني VS2010 أنه لا يمكن العثور على المجلد المحدد في DIR. هذا الرمز يكرر من خلال دير ، فكيف لا يمكن العثور عليه! هذا غريب.
string []theExt = new string[] { "db", "svn-base" };
foreach (var dir in Directory.GetDirectories(infolder))
{
bool hit = false;
if (Directory.GetDirectories(dir).Count() > 0)
continue;
foreach (var f in Directory.GetFiles(dir))
{
var ext = Path.GetExtension(f).Substring(1);
if(theExt.Contains(ext) == false)
{
hit = true;
break;
}
}
if (!hit)
{
var dst = outfolder + "\\" + Path.GetFileName(dir);
File.Move(dir, outfolder); //FileNotFoundException: Could not find file dir.
}
}
}
لا تنتمي إلى StackOverflow