2011-05-27 90 views
7

我需要一个脚本,可以创建一个子文件夹automaticaly。自动创建文件夹在目录C#

例如:

我有存储在c:/upload碱文件夹。我转移到脚本文件夹字符串:/2011/23/12/3。脚本应解析此字符串并创建c:/upload中的文件夹和子文件夹,如字符串为(应为c:/upload/2011/23/12/3

我该如何做到这一点?

现在我使用if/else并检查文件夹/子文件夹是否存在,但脚本过于庞大,难以管理。

+0

什么是最后一个文件夹?我指的是三号。似乎基本上使用c:\​​ upload \ yyyy \ MM \ dd – 2011-05-27 07:31:03

回答

18

你看过Directory.CreateDirectory,它会在创建过程中丢失任何目录吗?

从文档:

任何和路径指定的所有目录的创建,除非它们已经存在或除非路径的某些部分是无效的。

+0

路径中不存在的所有目录都将被创建?例如Directory.CreateDirectory(“c:/ upload/2011/23/12/3”),其中23,12,3不存在将使用此功能创建? – 2011-05-27 07:40:59

+0

@ evgeniy.labusnkiy就像测试它一样简单:) – 2011-05-27 07:41:43

+0

@evgeniy:是的。阅读我链接到的文档:“路径中指定的任何和所有目录都被创建,除非它们已经存在或除非路径的某些部分是无效的。” – 2011-05-27 07:41:46

6

你的代码可以递归创建目录将简单:

Directory.CreateDirectory(path) 
+1

-1为什么heck在asp.net mvc项目中使用控制台应用程序? – 2011-05-27 07:33:57

+0

@Oskar Kjellin:我之前没有注意到asp.net-mvc标签。但是,调用此方法的方法仍然相同。 – Aamir 2011-05-27 07:35:09

+0

确实如此。这基本上就是@Jon写的。我只反对创建一个控制台应用程序 – 2011-05-27 07:37:24

1

您可以在C#中使用Directory.CreateDirectory创建目录。