Sake562 Ответов: 3

У меня есть папка, подпапка и файлы


У меня есть папка, подпапка и файлы

C:/a

C:/a/b

C:/a/c

C:/a/b/c

C:/a/c/abc.doc

Я хочу создать эту папку и файлы на диске D, как я могу это сделать в c#?

Что я уже пробовал:

Я попробовал какой-то источник в интернете, но не смог найти ничего для решения этой проблемы

3 Ответов

Рейтинг:
2

Krokizo

Вы пробовали это?

Directory.CreateDirectory("C:\\newfolder");


Рейтинг:
1

Asad Ali Mirza

class Program
	{
		static void Main(string[] args)
		{
			var d = new DirectoryInfo(@"D:/temp");
			d.CreateSubdirectory("a/b/c");
			d.CreateSubdirectory("a/c");
			File.Create(@"c:/temp/a/c/abc.doc");
			Console.ReadLine();
		}
	}


Рейтинг:
0

Anisuzzaman Sumon

Я создал код для вас попробуйте это
:)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace FolderSubfolderFile
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo din = new DirectoryInfo("C:\\a");
            SearchDirectory(din);
            Console.ReadKey();
        }

        static void SearchDirectory(DirectoryInfo din)
        {

            SearchFile(din);
            foreach (DirectoryInfo dinf in din.GetDirectories())
            {
                if (IsSystem(dinf.FullName))
                    continue;
                SearchDirectory(dinf);
            }
        }

        static void SearchFile(DirectoryInfo dinf)
        {
            foreach (FileInfo fin in dinf.GetFiles())
            {
                string newFullName = fin.FullName.Replace("C:\\", "D:\\");
                string dirs = newFullName.Remove(newFullName.LastIndexOf("\\"));
                if (!Directory.Exists(dirs))
                {
                    Directory.CreateDirectory(dirs);
                }
                File.Create(newFullName);
            }
        }
        public static bool IsSystem(string path)
        {
            FileAttributes attributes = File.GetAttributes(path);
            return (attributes & FileAttributes.System) != 0;
        }
    }
}