[C#] 筛选复制文件并保持原有的目录结构
2012-06-06 13:23
459 查看
最近测试一个包含有几千个网页的内容, 需要把里面的一些源文件, js,html,css等收集起来做code scan.
但是有一个要求就是复制出来的文件的目录结构要和源文件的目录结构相同.
几千个文件中,有pdf,swf,html,js,css等文件, 有代码的文件,像js,css,html等估计也应该会有1000以上, 要是用手动去复制, 那估计要搞死人的.
懒人总有懒办法, 现在我的方法如下:
1. 筛选文件
a. 打开cmd 命令窗口, 输入
where -r "C:\test" *.js *.html *.css >> js.txt
这样就把些目录下面的所有的以js,html,css为扩展名的文件的路径都写到了js.txt这个文件里, 内容如下:
C:\test\index.html
C:\test\xxx.js
C:\test\test2\xxx.html
C:\test\test2\test2\xxx.css
2. 写一C#程序, 读取文件路径并将其复制相应的文件夹下面, 代码如下:
筛选出来大约有1500个文件, 不到1分钟就复制完了.
但是有一个要求就是复制出来的文件的目录结构要和源文件的目录结构相同.
几千个文件中,有pdf,swf,html,js,css等文件, 有代码的文件,像js,css,html等估计也应该会有1000以上, 要是用手动去复制, 那估计要搞死人的.
懒人总有懒办法, 现在我的方法如下:
1. 筛选文件
a. 打开cmd 命令窗口, 输入
where -r "C:\test" *.js *.html *.css >> js.txt
这样就把些目录下面的所有的以js,html,css为扩展名的文件的路径都写到了js.txt这个文件里, 内容如下:
C:\test\index.html
C:\test\xxx.js
C:\test\test2\xxx.html
C:\test\test2\test2\xxx.css
2. 写一C#程序, 读取文件路径并将其复制相应的文件夹下面, 代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Collections; namespace CopyContentFile { class Program { static void Main(string[] args) { //读取文本文件的路径 string path = @"c:\myback\js.txt"; string sLine = ""; string strSource; string strDest; string strTemp; string strDir; int n; int m = 1; //Arraylist ArrayList arrText = new ArrayList(); //读取文件 StreamReader objReader = new StreamReader(path); //循环读取文件 while (sLine != null) { //将每行的内容赋值给sLine sLine = objReader.ReadLine(); if (sLine != null) { //如果sLine不为空,就将其添加到ArrayList里 arrText.Add(sLine); } } //关闭文件流 objReader.Close(); //从ArrayList里读取内容 foreach (string strArrayText in arrText) { //源文件的路经 strSource = strArrayText; //截取其中的一部分 strTemp = strArrayText.Substring(11,strSource.Length-11); //目标文件路径 strDest = "h:" + strTemp; //截取目标文件夹的路径 n = strDest.LastIndexOf("\\"); strDir = strDest.Substring(0, n); //创建目标文件夹 Directory.CreateDirectory(strDir); //显示复制文件的个数 Console.WriteLine("正在复制第"+ m + "文件!" ); //复制文件 File.Copy(strSource, strDest, true); m++;//自增 } //显示完成 Console.WriteLine("Complete!"); Console.ReadKey(); } } }
筛选出来大约有1500个文件, 不到1分钟就复制完了.
相关文章推荐
- [PHP][Function]实现将一个文件夹下的所有文件及文件夹复制到另一个文件夹里(保持原有结构
- windows xcopy 复制文件 且 保持目录结构
- 查找到文件后复制到另一目录 目录结构保持不变
- SHELL编程练习-复制指定文件(保持文件所在目录结构)
- linux命令:批量将查找到的文件移动或者复制到其他目录并尽可能保持原文件的目录结构
- [PHP][Function]实现将一个文件夹下的所有文件及文件夹复制到另一个文件夹里(保持原有结构)[已验证][原创]
- java 复制文件夹下所有文件到指定的文件夹,不改变目录结构
- C#将文件从指定的目录复制到另一个目录
- C#目录文件复制、创建操作
- eclipse下maven项目保持原有目录结构配置resin运行环境
- C#文件操作源码 递归复制一个目录 递归删除文件 和 文件夹
- Windows下保持目录结构的文件备份算法
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
- Linux下备份项目,保持结构,选择性复制部分文件
- 复制时保留文件的目录结构
- C#文件操作源码 递归复制一个目录 递归删除文件 和 文件夹
- C#将文件复制到另一个目录下
- Java 批量反编译class文件,并保持目录结构
- linux 复制目录结构,但不复制文件
- C#目录文件复制、创建操作