最近工作需要得寫一個目錄數據備份的實現
我寫了2個靜態方法.
方法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目錄中的數據備份
分享到:
相关推荐
表示将传输当前目录下所有以.c结尾的文件到机器servivcer的src目录下。如果文件已经存在于远程机器,则会调用远程更新协议来实现仅仅传输那些更新过的文件。 rsync -avz servivcer:src/bar /data/tmp 该命令则...
Ghost 还提供了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单 Local→Disk→To Image),然后就可以随时还原到其他硬盘或源硬盘上,这对安装多个系统很方便。使用方法与分区备份相似。...
3. 复制 oracle目录中的oradata\oradb的子目录中的所有文件 到备份的目录中 冷恢复 1.将数据文件还原回所在位置 ,然后启动数据库 2.starup 进行热备份必须处于“归档日志模式下” 1.启动sqlplus ,并以...
如“dst=1:1”表示将提取数据还原到主盘第一分区,“dst=2:2”表示还原到从盘第二分区,“dst=d:\ghost\sysbak.gh1”则表示将备份的数据保存为主盘第二分区ghost目录中的sysgbak.gho文件。 /fro:该参数意为在...
注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。 bootcfg /scan 扫描用于 Windows 安装的所有磁盘并显示结果。 注意:这些结果被静态存储,并用于本次会话。如果在...
Ghost 还提供了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单 Local→Disk→To Image),然后就可以随时还原到其他硬盘或源硬盘上,这对安装多个系统很方便。使用方法与分区备份相似。...
案例需求: 某公司有一台WinSrv2003域成员服务器作为文件服务器,上面共享了若干文件夹,并对不 同的group及user设置了权限。现在客户决定购买新的服务器替换之前旧的服务器,面临 着一个问题: 1, 如何使得这些共享...
NTFS-可在DOS下读写NTFS分区的工具,对运行DOS版的杀毒软件和操作NTFS分区的数据都有实际用途,可执行文件:ntfspro.exe。(NTFS功能本启动盘已经包括)PQ805-最新的pqmagic的8.05版,DOS下分区的利器,支持200G...
X:WindowsSystem32Dllcache目录下有此文件的备份。只要将此备份拷到 X:WindowsSystem32下替代带病毒的文件即可。做一张Windows 98启动盘,并 将Attrib.exe文件拷入软盘,此文件在装有Windows 98的机器上的 X:...
8.2.1 文件和目录 8.2.2 文件属性 8.2.3 文件描述符 8.2.4 文件1/O 8.2.5 分散-聚集I/O(Scatter-Garther I/O) 8.2.6 文件加锁 8.3 文件系统 8.3.1 逻辑磁盘 8.4 特殊文件 8.4.1 符号链接 8.4.2 管道和FIFO 8.5 文件...
BitCopy专业版及更高版本|此功能也称为“裸金属复制”,它将源磁盘的所有扇区克隆到目标磁盘,而无论它们是否包含有效数据都没有区别。 2、后备 商店 此功能存储硬盘,SSD或其他磁盘(包括系统和数据分区)的总映像...
这里的IDE设备包括了IDE硬盘和IDE光驱,第一、第二组设备是指主板上的第一、第二根IDE数据线,一般来说靠近芯片的是第一组IDE设备,而主设备、从设备是指在一条IDE数据线上接的两个设备,大家知道每根数据线上可以接...
进入WINDOWS系统目录,找到X:\Windows\inf,这里说明一下,USB存储设备的作用文件有两个,分别是usbstor.inf和usbstor.pnf,因为后续可能需要重新打开USB功能,所以不要删除它,建议拷贝到其他位置,当然你要暴力...
你也可以把ELDK安装到任何空目录下,这么做的唯一条件是你有那个目录的写和执行权限。安装过程并不需要超级用户的特权。由安装时的参数决定安装几个目标组件集合。ELDT包是肯定会安装的。 $ export CROSS_COMPILE=...
kmtune //HP-UX下用kmtune>kernel.txt将内核参数信息导出到kernel.txt文件中配置文件为: /usr/conf/master.d/core-hpux ##操作系统 //操作系统版本 uname -a //操作系统补丁 instfix -i|grep ML //获取硬件信息 ...
2.安装成功后,打开编制好的文件,选中所有要导入的需求记录,注意:只选数据. Export To Quality 3.点击“工具” Center 4.输入QC的URL地址 5.输入项目管理员的名称和密码 6.选择要导入需求的域和项目 7.选择第一...
该新产生的套接字使用send()和recv()写读数据,直至数据交换完毕,closesock et()关闭套接字。 26.动态连接库的两种方式? 答:调用一个DLL中的函数有两种方法: 1.载入时动态链接(load-time dynamic linking)...
话单池的一个备份指针Pool_head_1和中继计次表的头指针重合,影响到第一个中继计次表的计费。 思考与启示: 随机值的背后往往隐藏着指针问题,两块内存缓冲区的交界处比较容易出现问题,在编程时是应该注意的地方...