File.Move, perché ottengo un FileNotFoundException? Il file esiste
-
22-09-2019 - |
Domanda
La sua estremamente strano dato che il programma è iterazione il file! outfolder e infolder sono entrambi in H: / il mio HD esterno utilizzando Windows 7. L 'idea è quella di spostare tutte le cartelle che contengono solo i file con l'estensione db e svn-base. Quando provo a spostare la cartella ottengo un'eccezione. VS2010 mi dice che cant trovare la cartella specificata in dir. Questo codice viene scorrendo dir così come può non trovarlo! questo è strano.
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.
}
}
}
Soluzione
Credo che si sta tentando di spostare una intera directory utilizzando File.Move che si aspetta un nome di file.
Prova a usare Directory.Move invece dal momento che consentono di spostare intere cartelle.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow