如何从模板复制文件层次结构?

时间:2018-08-24 12:42:03

标签: c# file resources

删除文件夹后,我需要恢复文件夹中的特定文件层次结构(是的,不要问)。

现在,我将其想象成一个由Windows Task Scheduler运行的简单应用程序。尽管有一些方法可以达到这种效果,但我想创建一个简单的单个exe

因此,我将结构放入项目中,并将所有文件Build Action设置为“ Embedded resource”。我可以通过Assembly.GetExecutingAssembly().GetManifestResourceNames()Assembly.GetExecutingAssembly().GetManifestResourceStream(name)来访问它们,但是我看不到任何简单的方法来保存这样的层次结构。

虽然我要解决一个真正的问题,但从本质上讲,这个问题更具学术性-我不需要任何麻烦的事情,例如解析资源名称来确定其产生的层次结构。我的文件结构实际上是两个文件夹中的4个文件,如果一推再推,我可以手动将所有内容写出。

我确信应该有一种简单的方式来说“嘿,这是应该如何排列,重复这些文件”。也许资源是错误的机制?

1 个答案:

答案 0 :(得分:0)

你是对的,你不能。因为资源名称是标识符,所以在构建过程中会替换一些字符,并且您也不能存储空文件夹。但是,您可以从嵌入单个文件的结构中构建一个Zip文件,并在需要时将其提取-如果需要,可以一次调用。框架has built-in zip support。但是请注意,ZipFile只能按顺序访问,因为只有一个内部状态。