文件拷贝器

前一篇文章中讲到如何删除指定文件夹下所有的指定文件,那么如何向指定文件夹添加文件呢,即向指定文件夹(包括所有的子文件夹)添加一些特定的文件,如添加网站广告或是说明等。

思路其实差不多,就是遍历所有文件夹,如果是文件夹则将特定文件拷贝至该文件夹下(使用File.Copy函数),如果是文件则跳过...

主要代码如下(注释已经很详细就不再解释代码了)

/// <summary>
        /// 遍历指定路径下所有指定名的文件
        /// </summary>
        /// <param name="path">指定路径</param>
        /// <param name="ext">文件扩展名,不包含分隔符(.)</param>
        /// <returns>返回所有文件绝对路径</returns>
        private void ErgodicFile(BackgroundWorker worker, string path)
        {
            Thread.Sleep(1);
            FileSystemInfo[] _fsi = null;//存储目录下的文件信息
            try
            {
                m_dirInfo = new DirectoryInfo(path);//获取指定路径下的目录信息
                _fsi = m_dirInfo.GetFileSystemInfos();//获取指定路径下的文件信息
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return;
            }

            FileInfo _fi;//文件信息
            try
            {
                for (int i = 0; i < _fsi.Length; i++)
                {
                    if (!Directory.Exists(_fsi[i].FullName))
                    {//是文件
                       
                    }
                    else
                    {//是目录,复制文件并继续遍历
                        for (int j = 0; j < lbFileNames.Items.Count; j++)
                        {
                            File.Copy(lbFileNames.Items[j].ToString(), _fsi[i].FullName +"\\"+lbFileNames.Items[j].ToString().Substring(lbFileNames.Items[j].ToString().LastIndexOf('\\')),true);
                           
                        }

                        ErgodicFile(worker, _fsi[i].FullName);

                        Thread.Sleep(1);
                    }
                    Thread.Sleep(1);
                }
                Thread.Sleep(1);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
下面来看看程序的UI及使用说明:

 

 

使用说明:

1. 点击“添加文件”按钮,选择要复制的文件,可以添加多个文件

2. 点击“浏览...”选择目标目录

3. 点击“复制文件”按钮开始复制,完成后会出现提示

 https://files.cnblogs.com/alexis/CopyFiles(EXE).rar

注,需.net framework 2以上的环境才能运行本程序。先给exe文件,如果大家需要源代码的话,后面会提供下载。

 

 

posted @ 2010-07-04 07:20  Alexis  阅读(677)  评论(2编辑  收藏  举报