C#/.NET 刪除某個文件夾(及其子文件夾)中指定文件名的文件

        private void BtnDelete_Click(object sender, EventArgs e)
        {           
            List<string> nameList = new List<string>()
            {
                "xxx1",
                "xxx2",
                "xxx3",
                "xxx4",
                "xxx5",
            };
            Task.Run(() =>
            {
            	//文件路徑放在textBox1中即可
                nameList.ForEach(x => DelLicenseFiles(textBox1.Text, x));
            }).ContinueWith(x=> {
                MessageBox.Show("刪除完成");
            });
        }
        /// <summary>
        /// 刪除指定文件夾下指定文件名的文件
        /// </summary>
        /// <param name="url">文件夾地址</param>
        /// <param name="name">要刪除的文件名</param>--自帶去除擴展名
        /// <returns></returns>
        public void DelLicenseFiles(string path, string name)
        {
            try
            {
                DirectoryInfo Folder = new DirectoryInfo(path);
                var files = Folder.GetDirectories();
                foreach (FileInfo file in Folder.GetFiles())
                {
                    if(file.Attributes != FileAttributes.Directory)
                    {
                        if (name == file.Name.Substring(0, file.Name.LastIndexOf('.')))
                        {
                            file.Delete();
                        }
                    }
                }
                foreach (var dicInfo in Folder.GetDirectories())
                {
                    DelLicenseFiles(dicInfo.FullName, name);
                }
            }
            catch
            { 

            }
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章