最近工作需要得寫一個目錄數據備份的實現
我寫了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目錄中的數據備份
分享到:
相关推荐
3. **多目的地备份**:除了本地备份,Second Copy还允许用户将数据备份到远程服务器,增加了数据的安全性。 4. **版本控制**:该软件通常会保存多个版本的备份文件,这样在需要恢复旧版本数据时,用户可以选择合适...
表示将传输当前目录下所有以.c结尾的文件到机器servivcer的src目录下。如果文件已经存在于远程机器,则会调用远程更新协议来实现仅仅传输那些更新过的文件。 rsync -avz servivcer:src/bar /data/tmp 该命令则...
数据备份的目的在于保护数据库的安全,防止数据的丢失和破坏。 数据恢复是当数据库受到破坏时,需要从备份文件中恢复数据。恢复的过程可以分为两种情况:一种是没有对数据库进行任何操作,在数据库遭破坏之前已经有...
通过指定源目录和目标目录,你可以设置参数让XCOPY执行深度复制,包括隐藏文件、系统文件以及子目录中的所有内容。 3. **NET SHARE ADD命令**:NET SHARE是DOS命令,用于管理网络共享。NET SHARE ADD子命令用于创建...
本文将深入剖析几种常见的数据备份技术,包括文件级备份、块级备份、远程文件复制、快照技术和卷Clone技术,并讨论它们在不同场景下的应用。 1. **文件级备份**:这是最基本的数据备份类型,它按照文件和文件夹的...
在Windows 2000操作系统中,有一个强大的数据备份工具,它可帮助用户备份硬盘上选定的文件和文件夹;将备份的文件和文件夹还原到硬盘上;创建紧急修复盘;备份计算机的系统状态(包括注册表、启动文件和系统文件);...
这个工具的主要目的是实现文件或文件夹的实时备份,确保数据的安全性。下面将详细介绍如何利用VB实现这一功能。 首先,我们需要理解文件同步的基本概念。文件同步是指将一个目录或文件的内容与另一个目录或文件保持...
这个工具的主要目的是帮助用户快速、稳定地传输大量数据,无论是从本地计算机到远程服务器,还是反之亦然。 FastCopy 是一个强大的文件复制工具,其性能优越,能够充分利用系统资源,提高文件传输速度。它的核心...
Oracle9i通过RMAN的copy方式迁移数据是一个较为复杂的过程,涉及到多个Oracle数据库管理和存储技术的概念。本文将对上述文档中提及的知识点进行详细说明。 ### Oracle9i数据库基础 **Oracle9i** 是甲骨文公司...
综上所述,Fast Copy V3.1.1.30以其高效、快速的文件复制功能,以及可靠的数据备份和恢复能力,成为了日常数据管理的利器。无论是个人用户备份珍贵照片、音乐和文档,还是企业进行系统维护和数据保护,Fast Copy都是...
逻辑备份是通过数据泵导出(expdp)和导入(impdp)工具将数据库中的数据导出到外部文件,并在需要时能够导入到数据库中。物理备份则是直接对数据库的物理文件进行备份,包括数据文件、控制文件和重做日志文件等,...
- **示例命令**:假设要迁移的数据文件名为`GWTABLE42.DBF`,位于`D:\OracleData`目录下,现需将其迁移到`E:\OracleData`目录下,则可通过Windows资源管理器或命令行工具进行复制操作,如: ```shell copy D:\...
Oracle数据库的备份与恢复是数据库管理员(DBA)的核心职责之一,它关乎到数据的安全性和业务的连续性。本资料详细介绍了Oracle数据库的备份和恢复策略,以下是其中的关键知识点: 1. **备份与恢复概述** - **备份...
Second Copy v9.0.0.3是一款备受赞誉的文件备份工具,其核心功能是提供自动化、持续的数据保护,确保您的重要文件在任何意外情况下都能得到安全备份。 该软件的设计理念是简洁易用,常驻于系统托盘,用户可以轻松...
- `BACKUP AS COPY`:备份时创建数据文件的副本,而非物理备份,这有助于提高备份速度。 - `COMPRESSION`:启用压缩功能,以节省存储空间。 - `TAG`:为备份集添加标签,方便后续的管理和查找。 4. **RMAN命令...
在日本,这款软件被广泛应用于系统部署、数据备份以及日常的数据移动场景中。 二、主要特点 1. 高速拷贝:HA_FastCopy利用优化的文件复制算法,减少了I/O操作,显著提高了文件传输速度,尤其是在处理大量小文件时...
SdeExport用于将空间数据备份为二进制文件,而SdeImport则用于将备份的数据恢复到空间数据库中。这些命令的灵活性较高,可以用于备份各种类型的空间对象。 - **Copy和Paste操作**:通过这些基本操作,可以在不同...
Ghost 还提供了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单 Local→Disk→To Image),然后就可以随时还原到其他硬盘或源硬盘上,这对安装多个系统很方便。使用方法与分区备份相似。...
"sap system copy" SAP系统拷贝是指将已经安装的...SAP系统拷贝需要正确地安装DB2数据库、备份和恢复数据库、修复数据库连接问题、配置数据库参数、回滚日志、处理安装错误、数据库目录管理和数据库连接测试等步骤。
它的工作流程可能是扫描指定的源目录,识别出所有文件的扩展名,然后根据预设的规则,将相同扩展名的文件移动或复制到预先设定的目的地文件夹。这个程序在日常工作中非常实用,特别是在需要整理大量文件的场景下,...