Question

Son extrêmement bizarre puisque le programme est le fichier itération! outfolder et infolder sont tous deux en H: / mon HD externe à l'aide de Windows 7. L'idée est de déplacer tous les dossiers contenant uniquement des fichiers avec la base svn extention db et. Lorsque je tente de déplacer le dossier que je reçois une exception. VS2010 me dit qu'il ne peut pas trouver le dossier spécifié dans dir. Ce code est Itère dir comment peut-il pas le trouver! c'est bizarre.

        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.
            }
        }
    }
Était-ce utile?

La solution

Je crois que vous essayez de déplacer un répertoire entier en utilisant File.Move qui attend un nom de fichier.

Essayez d'utiliser Directory.Move au lieu depuis que vous permettent de déplacer des dossiers entiers autour.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top