none
error al crear carpeta RRS feed

  • Pregunta

  • Amigos del foro buenas tardes espero se encuentren bien.

    Les solicito su ayuda para lo siguiente: estoy creando unas carpetas con un formulario en windows form y c# para que sólamente me cree las carpetas junto con todos sus archivos pero lo que me sucede es extraño ya que cuando lo ejecuto me crea la carpeta en C pero vacia y manda el siguiente error:

    No se puede encontrar una parte de la ruta de acceso 'C:\Users\AcerA\Desktop\CONFIG 7 DE NOVIEMBRE 2014\Configuraciones\WindowsFormsApplication2\bin\Release\Aplicaciones\Controles Volumetricos'.

    Mi carpeta se llama controles volumetricos es donde tengo un programa ejecutable y sus archivos

    Ya le di permiso de administrador al proyecto pero me sigue mandando lo mismo.

    Mi código es este.

                           

    private void ControlesVolumetricosBtn_Click(object sender, EventArgs e)
            {

                string CarpetaOrigen = Application.StartupPath.ToString() + "\\Aplicaciones\\Controles Volumetricos";

                string CarpetaDestino = @"C:\Controles Volumetricos";

                if (!Directory.Exists(CarpetaDestino))
                {
                    Directory.CreateDirectory(CarpetaDestino);
                }
                DirectoryCopy(CarpetaOrigen, CarpetaDestino, true);

                MessageBox.Show("Transferencia terminada");

            }

    Y en éste codigo me manda error y señalo la linea donde truena mi programa:

       private static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
            {
                // Get the subdirectories for the specified directory.
                DirectoryInfo dir = new DirectoryInfo(sourceDirName);
                    DirectoryInfo[] dirs = dir.GetDirectories(); ***** AQUI ES DONDE MANDA ESE MENSAJE

                if (!dir.Exists)
                {
                    throw new DirectoryNotFoundException(
                        "Source directory does not exist or could not be found: "
                        + sourceDirName);
                }

                // If the destination directory doesn't exist, create it.
                if (!Directory.Exists(destDirName))
                {
                    Directory.CreateDirectory(destDirName);
                }

                // Get the files in the directory and copy them to the new location.
                FileInfo[] files = dir.GetFiles();
                foreach (FileInfo file in files)
                {
                    if (!file.Exists)
                    {
                        string temppath = Path.Combine(destDirName, file.Name);
                        file.CopyTo(temppath, false);
                    }
                }

                // If copying subdirectories, copy them and their contents to new location.
                if (copySubDirs)
                {
                    foreach (DirectoryInfo subdir in dirs)
                    {
                        string temppath = Path.Combine(destDirName, subdir.Name);
                        DirectoryCopy(subdir.FullName, temppath, copySubDirs);
                    }
                }
            }

    Les agradecere mucho su ayuda.

    Saludos.

    jueves, 13 de noviembre de 2014 19:07

Todas las respuestas

  • Casi seguro que el mensaje de error tiene toda la razón y no existe esa carpeta. La carpeta origen la estás construyendo a partir del StartupPath, que es la carpeta en la que está el programa, es decir "C:\Users\AcerA\Desktop\CONFIG 7 DE NOVIEMBRE 2014\Configuraciones\WindowsFormsApplication2\bin\Release" y luego le añades "\Aplicaciones\Controles Volumetricos". Si no has creado esa subcarpeta por debajo de la carpeta del ejecutable, pues lógicamente te da un error cuando intentas leer su contenido.
    • Propuesto como respuesta Pedro Ávila domingo, 23 de noviembre de 2014 15:44
    jueves, 13 de noviembre de 2014 20:48