সি # এই ফোল্ডারের মধ্যে একটি ফোল্ডার এবং সমস্ত ফাইল এবং ফোল্ডার মুছুন


109

আমি সেই ফোল্ডারের মধ্যে একটি ফোল্ডার এবং সমস্ত ফাইল এবং ফোল্ডার মুছতে চেষ্টা করছি, আমি নীচের কোডটি ব্যবহার করছি এবং আমি ত্রুটি পেয়েছি Folder is not empty, আমি কী করতে পারি তার কোনও পরামর্শ?

try
{
  var dir = new DirectoryInfo(@FolderPath);
  dir.Attributes = dir.Attributes & ~FileAttributes.ReadOnly;
  dir.Delete();
  dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[i].Index);
}
catch (IOException ex)
{
  MessageBox.Show(ex.Message);
}

উত্তর:



114

ম্যানুয়াল পড়ুন:

ডিরেক্টরি.ডিলেট পদ্ধতি (স্ট্রিং, বুলিয়ান)

Directory.Delete(folderPath, true);

71
ম্যানুয়ালটি যখন এটি গুগল করা এবং এখানেই শেষ করা খুব দ্রুত তখন কেন পড়বেন?
রেগেইগুইটার

5
এটি এতটাই সত্য
Corvin

4
প্রকৃতপক্ষে ... সবেমাত্র এটি গুগল করা হয়েছিল এবং গুগল থেকে এই পোস্টটি প্রথম ফলাফল ছিল।
মাস্টারএন 8

4
আমি মাঝে মাঝে যা করি তা হ'ল প্রশ্ন জিজ্ঞাসা করা এবং তারপরে নিজেই উত্তর দিন, ভবিষ্যতের গুগলদের সহায়তা করার জন্য। স্ট্যাকওভারফ্লো আপনাকে একই সাথে প্রশ্ন এবং উত্তর পোস্ট করার অনুমতি দেয়।
ধর্মতর্কল

4
আমি এইভাবে আমার সমস্ত স্থানীয় ডকুমেন্টেশনগুলি শুরু করে দিয়েছি। প্রায়শই প্রায়শই জিজ্ঞাসিত প্রশ্ন নয়, এসও প্রশ্নের মতো। অর্থাৎ আমি কীভাবে করব? বা এটা কি?
পল ডুয়ার

23

চেষ্টা করুন:

System.IO.Directory.Delete(path,true)

এটি "পাথ" এর নীচে সমস্ত ফাইল এবং ফোল্ডারগুলি পুনরাবৃত্তভাবে মুছে ফেলবে বলে ধরে নিবে যে আপনার কাছে এটি করার অনুমতি রয়েছে।





3

এটা চেষ্টা কর.

namespace EraseJunkFiles
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo yourRootDir = new DirectoryInfo(@"C:\somedirectory\");
            foreach (DirectoryInfo dir in yourRootDir.GetDirectories())
                    DeleteDirectory(dir.FullName, true);
        }
        public static void DeleteDirectory(string directoryName, bool checkDirectiryExist)
        {
            if (Directory.Exists(directoryName))
                Directory.Delete(directoryName, true);
            else if (checkDirectiryExist)
                throw new SystemException("Directory you want to delete is not exist");
        }
    }
}

1

আপনারা যারা ডিরেক্টরী নটফাউন্ডএক্সসেপশনটিতে চলেছেন তাদের জন্য এই চেকটি যুক্ত করুন:

if (Directory.Exists(path)) Directory.Delete(path, true);

0
public void Empty(System.IO.DirectoryInfo directory)
{
    try
    {
        logger.DebugFormat("Empty directory {0}", directory.FullName);
        foreach (System.IO.FileInfo file in directory.GetFiles()) file.Delete();
        foreach (System.IO.DirectoryInfo subDirectory in directory.GetDirectories()) subDirectory.Delete(true);
    }
    catch (Exception ex)
    {
        ex.Data.Add("directory", Convert.ToString(directory.FullName, CultureInfo.InvariantCulture));

        throw new Exception(string.Format(CultureInfo.InvariantCulture,"Method:{0}", ex.TargetSite), ex);
    }
}

0

এটা চেষ্টা কর:

foreach (string files in Directory.GetFiles(SourcePath))
{
   FileInfo fileInfo = new FileInfo(files);
   fileInfo.Delete(); //delete the files first. 
}
Directory.Delete(SourcePath);// delete the directory as it is empty now.

যদিও এই কোডটি প্রশ্নের উত্তর দিতে পারে, কীভাবে এবং / বা কেন এটি সমস্যার সমাধান করে তা সম্পর্কিত অতিরিক্ত প্রসঙ্গ সরবরাহ করলে উত্তরের দীর্ঘমেয়াদী মান উন্নত হবে। এটি পড়ুন
শান্তেশ্বর ইন্দে 30'19
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.