2011-05-27 22 views
7

Necesito un script que pueda crear subcarpetas automáticamente.Crear carpetas automáticamente en el directorio C#

Por ejemplo:

Tengo una carpeta de base almacenados a c:/upload. Transfiere a secuencia de carpetas de secuencia de comandos: /2011/23/12/3. La secuencia de comandos debe analizar esta cadena y crear carpetas y subcarpetas en c:/upload como la cadena es (debe ser c:/upload/2011/23/12/3)

¿Cómo puedo hacer esto?

Ahora uso if/else y compruebo si existe carpeta/subcarpeta, pero el script es demasiado grande y es difícil de administrar.

+0

¿Cuál es la última carpeta? Me refiero al número tres. Parece que básicamente utilizas c: \ upload \ ayyy \ MM \ dd –

Respuesta

18

¿Ha mirado Directory.CreateDirectory, que creará los directorios que faltan en el camino?

De la documentación:

Todas y todos los directorios especificados en la ruta se crean, a menos que ya existen o menos que alguna parte del camino no es válido.

+0

¿Se crearán todos los directorios en la ruta que aún no existe? por ejemplo, Directory.CreateDirectory ("c:/upload/2011/23/12/3") donde 23,12,3 no existe se creará con esta función? –

+0

@ evgeniy.labusnkiy Tan fácil como probarlo :) –

+0

@evgeniy: Sí. Lea la documentación que he vinculado: "Todos y cada uno de los directorios especificados en la ruta se crean, a menos que ya existan o a menos que alguna parte de la ruta no sea válida." –

6

Su código para crear directorios de forma recursiva será tan simple como:

Directory.CreateDirectory(path) 
+1

-1 ¿Por qué diablos usar una aplicación de consola en un proyecto asp.net mvc? –

+0

@Oskar Kjellin: No me di cuenta antes de la etiqueta asp.net-mvc. Sin embargo, la llamada al método para hacer esto sigue siendo la misma. – Aamir

+0

de hecho lo hace. Eso es básicamente lo que @Jon también escribió. Solo me opuse a la creación de una aplicación de consola –

1

Puede utilizar Directory.CreateDirectory en C# para la creación de directorios.

Cuestiones relacionadas