List all files and directories in a directory + subdirectories

前端 未结 15 1880
陌清茗
陌清茗 2020-12-13 01:46

I want to list every file and directory contained in a directory and subdirectories of that directory. If I chose C:\\ as the directory, the program would get every name of

15条回答
  •  北海茫月
    2020-12-13 02:31

    I use the following code with a form that has 2 buttons, one for exit and the other to start. A folder browser dialog and a save file dialog. Code is listed below and works on my system Windows10 (64):

    using System;
    using System.IO;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace Directory_List
    {
    
        public partial class Form1 : Form
        {
            public string MyPath = "";
            public string MyFileName = "";
            public string str = "";
    
            public Form1()
            {
                InitializeComponent();
            }    
            private void cmdQuit_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }    
            private void cmdGetDirectory_Click(object sender, EventArgs e)
            {
                folderBrowserDialog1.ShowDialog();
                MyPath = folderBrowserDialog1.SelectedPath;    
                saveFileDialog1.ShowDialog();
                MyFileName = saveFileDialog1.FileName;    
                str = "Folder = " + MyPath + "\r\n\r\n\r\n";    
                DirectorySearch(MyPath);    
                var result = MessageBox.Show("Directory saved to Disk!", "", MessageBoxButtons.OK);
                    Application.Exit();    
            }    
            public void DirectorySearch(string dir)
            {
                    try
                {
                    foreach (string f in Directory.GetFiles(dir))
                    {
                        str = str + dir + "\\" + (Path.GetFileName(f)) + "\r\n";
                    }    
                    foreach (string d in Directory.GetDirectories(dir, "*"))
                    {
    
                        DirectorySearch(d);
                    }
                            System.IO.File.WriteAllText(MyFileName, str);
    
                }
                catch (System.Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
    }
    

提交回复
热议问题