copy某目錄下的所有的目錄和文件到目的目錄(目錄數據備份)
2009-03-09 14:19
309 查看
方法1:
功能:copy某目錄下的所有的目錄和文件到目的目錄,即創建某文件夾的副本
思路:先copy目錄下的所有文件,再遞歸循環目錄
參數1:要copy的目錄名(原目錄),要是此文件夾不存在會拋出異常
參數2:目的目錄名,要是此文件夾不存在程序會自己建立一個
1 static void directoryCopy(string sourcePath,string destPath)
2 {
3 if ( !Directory.Exists(sourcePath) )
4 {
5 //拋出異常
6 throw new DirectoryNotFoundException("原路徑沒發現");
7 }
8
9 if ( !Directory.Exists(destPath) )
10 {
11 //自己建立一個目的目錄
12 Directory.CreateDirectory(destPath);
13 }
14
15 DirectoryInfo dir=new DirectoryInfo(sourcePath);
16 DirectoryInfo[] dirs= dir.GetDirectories();
17
18 //先拷貝該目錄下的所有文件
19 copyFile(dir,destPath);
20
21 if ( dirs.Length>0 )
22 {
23 foreach(DirectoryInfo temDirectoryInfo in dirs)
24 {
25 string sourceDirectoryFullName=temDirectoryInfo.FullName;
26 string destDirectoryFullName=sourceDirectoryFullName.Replace(sourcePath,destPath);
27
28 if ( !Directory.Exists( destDirectoryFullName ) )
29 {
30 Directory.CreateDirectory( destDirectoryFullName );
31 }
32
33 //拷貝temDirectoryInfo下的所有文件
34 copyFile(temDirectoryInfo,destDirectoryFullName);
35
36 //遞歸,訪問下一級目錄
37 directoryCopy( sourceDirectoryFullName,destDirectoryFullName );
38 }
39 }
40 }
方法2:
功能:copy某目錄下的所有文件
先得到原目錄下的所有文件信息數組,再利用循環依次copy
參數1:要copy的目錄(原目錄)
參數2:目的目錄名稱
1 static void copyFile(DirectoryInfo path,string destPath)
2 {
3 string sourcePath=path.FullName;
4
5 FileInfo[] files=path.GetFiles();
6
7 foreach(FileInfo file in files)
8 {
9 //要copy的原文件全名
10 string sourceFileFullName=file.FullName;
11 //目的文件的全名
12 string destFileFullName=sourceFileFullName.Replace(sourcePath,destPath);
13 //開始copy文件
14 file.CopyTo( destFileFullName ,true);
15 }
16 }
調用
directoryCopy(@"E:\Pc Drive",@"c:\tem\Pc Drive");
實現E:\Pc Drive目錄中的數據備份
功能:copy某目錄下的所有的目錄和文件到目的目錄,即創建某文件夾的副本
思路:先copy目錄下的所有文件,再遞歸循環目錄
參數1:要copy的目錄名(原目錄),要是此文件夾不存在會拋出異常
參數2:目的目錄名,要是此文件夾不存在程序會自己建立一個
1 static void directoryCopy(string sourcePath,string destPath)
2 {
3 if ( !Directory.Exists(sourcePath) )
4 {
5 //拋出異常
6 throw new DirectoryNotFoundException("原路徑沒發現");
7 }
8
9 if ( !Directory.Exists(destPath) )
10 {
11 //自己建立一個目的目錄
12 Directory.CreateDirectory(destPath);
13 }
14
15 DirectoryInfo dir=new DirectoryInfo(sourcePath);
16 DirectoryInfo[] dirs= dir.GetDirectories();
17
18 //先拷貝該目錄下的所有文件
19 copyFile(dir,destPath);
20
21 if ( dirs.Length>0 )
22 {
23 foreach(DirectoryInfo temDirectoryInfo in dirs)
24 {
25 string sourceDirectoryFullName=temDirectoryInfo.FullName;
26 string destDirectoryFullName=sourceDirectoryFullName.Replace(sourcePath,destPath);
27
28 if ( !Directory.Exists( destDirectoryFullName ) )
29 {
30 Directory.CreateDirectory( destDirectoryFullName );
31 }
32
33 //拷貝temDirectoryInfo下的所有文件
34 copyFile(temDirectoryInfo,destDirectoryFullName);
35
36 //遞歸,訪問下一級目錄
37 directoryCopy( sourceDirectoryFullName,destDirectoryFullName );
38 }
39 }
40 }
方法2:
功能:copy某目錄下的所有文件
先得到原目錄下的所有文件信息數組,再利用循環依次copy
參數1:要copy的目錄(原目錄)
參數2:目的目錄名稱
1 static void copyFile(DirectoryInfo path,string destPath)
2 {
3 string sourcePath=path.FullName;
4
5 FileInfo[] files=path.GetFiles();
6
7 foreach(FileInfo file in files)
8 {
9 //要copy的原文件全名
10 string sourceFileFullName=file.FullName;
11 //目的文件的全名
12 string destFileFullName=sourceFileFullName.Replace(sourcePath,destPath);
13 //開始copy文件
14 file.CopyTo( destFileFullName ,true);
15 }
16 }
調用
directoryCopy(@"E:\Pc Drive",@"c:\tem\Pc Drive");
實現E:\Pc Drive目錄中的數據備份
相关文章推荐
- copy某目錄下的所有的目錄和文件到目的目錄(目錄數據備份)
- 黑马程序员—编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
- 查找指定目錄下的所有文件夾
- 编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。
- C#中copy某目录下的所有的目录和文件到目的目录
- 如何用python遍历文件夹下的所有excel文件
- 使用grep来查找当前文件夹下边所有包含某个字符串的文件
- Linux查找含有某字符串的所有文件
- 如果让你来制作一个访问量很高的大型网站,你会如何来管理所有CSS文件、JS与图片?
- [小经验]Windows系统中提取某个目录下所有文件夹(或文件)名
- C#遍历文件目录里所有文件
- linux获取当前路径下所有子文件夹的文件内容
- .NET读取所有目录下文件正则匹配文本电子邮件
- 读取某一目录下(包括子目录)所有mp3、wma、m4a格式文件,制作成m3u列表(Java, Windows)
- qt删除指定文件夹下所有内容,包括文件夹、文件
- 查找某个目录下的所有文件(包括子目录)
- 怎样使用windows命令行,用notepad打开某文件夹下面的所有文件
- 计算/etc/目录所有*.conf配置文件所占总空间大小
- VC中删除一个目录下的所有文件
- 批量将目录下所有文件进行 dos/unix 格式转换