`
guanhuaing
  • 浏览: 1196263 次
文章分类
社区版块
存档分类
最新评论

C#备份收藏夹代码

 
阅读更多

//添加系统引用

using System.IO;

private void 备份收藏夹ToolStripMenuItem_Click(object sender, EventArgs e)
{

string BackupFavoritePath;
string SystemFavoritePath = GetSystemFavoritePath();
FolderBrowserDialog myfolderBrowserDialog = new FolderBrowserDialog();
myfolderBrowserDialog.RootFolder = Environment.SpecialFolder.Desktop;
if (myfolderBrowserDialog.ShowDialog() == DialogResult.OK)
{
if (myfolderBrowserDialog.SelectedPath != "")
{
BackupFavoritePath = myfolderBrowserDialog.SelectedPath;
CopyDir(SystemFavoritePath, BackupFavoritePath);

}
else
{
return;
}
}
}

/// <summary>
/// 从注册表获取收藏夹路径
/// </summary>
/// <returns></returns>
private static string GetSystemFavoritePath()
{
string strSystemFavoritePath = "";
RegistryKey hklm = Registry.CurrentUser;
RegistryKey software = hklm.OpenSubKey(@"Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders", true);
if (software == null)
{
strSystemFavoritePath = "读取失败";
}
else
{
strSystemFavoritePath = software.GetValue("Favorites").ToString();
}
return strSystemFavoritePath;
}

/// <summary>
/// 循环递归拷贝目录文件函数
/// </summary>
/// <param name="sourcePath"></param>
/// <param name="targetPath"></param>
private void CopyDir(string sourcePath, string targetPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if (targetPath[targetPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
{
targetPath += System.IO.Path.DirectorySeparatorChar;
}

// 判断目标目录是否存在如果不存在则新建之
if (!System.IO.Directory.Exists(targetPath))
{
System.IO.Directory.CreateDirectory(targetPath);
}

// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
// string[] fileList = Directory.GetFiles(sourcePath);
string[] fileList = System.IO.Directory.GetFileSystemEntries(sourcePath);

// 遍历所有的文件和目录
foreach (string file in fileList)
{
// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if (System.IO.Directory.Exists(file))
{
CopyDir(file, targetPath + System.IO.Path.GetFileName(file));
}

// 否则直接Copy文件
else
{
System.IO.File.Copy(file, targetPath + System.IO.Path.GetFileName(file), true);
}
}
}

catch (Exception e)
{
throw;
}
}

分享到:
评论

相关推荐

    C#开发典型模块大全

    16.3.3 添加到收藏夹 427 16.3.4 整理收藏夹 429 第17章 电话客服管理模块 17.1 设计思路 432 17.2 关键技术 432 17.2.1 语音卡中的API函数 432 17.2.2 硬件语音卡驱动分析 437 17.2.3 窗体间传值 ...

    C#开发典型模块大全(光盘)第二部分

    16.3.3 添加到收藏夹 16.3.4 整理收藏夹 第17章 电话客服管理模块 17.1 设计思路 17.2 关键技术 17.2.1 语音卡中的API函数 17.2.2 硬件语音卡驱动分析 17.2.3 窗体间传值 17.2.4 导航菜单的制作 17.3 设计过程 ...

    C#开发典型模块大全(光盘)

    16.3.3 添加到收藏夹 16.3.4 整理收藏夹 第17章 电话客服管理模块 17.1 设计思路 17.2 关键技术 17.2.1 语音卡中的API函数 17.2.2 硬件语音卡驱动分析 17.2.3 窗体间传值 17.2.4 导航菜单的制作 17.3 设计过程 ...

    C#开发典型模块大全(光盘)第一部分

    16.3.3 添加到收藏夹 16.3.4 整理收藏夹 第17章 电话客服管理模块 17.1 设计思路 17.2 关键技术 17.2.1 语音卡中的API函数 17.2.2 硬件语音卡驱动分析 17.2.3 窗体间传值 17.2.4 导航菜单的制作 17.3 设计过程 ...

    C#编程经验技巧宝典

    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 &lt;br&gt;1.1 Visual Studio开发环境安装与配置 2 &lt;br&gt;0001 安装Visual Studio 2005开发环境须知 2 &lt;br&gt;0002 配置合适的Visual Studio 2005...

    资料收藏夹

    来由: 由于在写程序的时候,经常要在网络上翻查一些资料,而用过后及时备份了,再用也很难查找,痛定思痛,花了大半天的功夫,写了这个小程序。 &lt;br/&gt;swind QQ:12807207 MSN:shaobangjie@hotmail....

    计算机专业毕设ASP.NET小型证券术语解释及翻译系统的设计与开发(源代码+论文).rar

    2. 术语收藏夹模块:用户可以将常用的证券术语添加到收藏夹中,方便以后快速查询。 3. 翻译功能模块:系统提供了实时翻译功能,用户可以选择需要翻译的文本并提交给系统,系统将返回翻译结果。 4. 用户管理模块:...

    vc++ 应用源码包_6

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_5

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 开发实例源码包

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    休闲旅游门户网站模板下载

    收藏夹功能:会员可对网站的所有酒店、景点、旅游线路、租车信息进行收藏。 6,产品多样性的价格设置 旅游产品价格多样化,因不同季节、不同节假日都有不同的价格标准,为此网软旅游网站专门研发了多种价格系统设置...

    vc++ 应用源码包_1

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_2

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    vc++ 应用源码包_3

    实现了 清楚internet临时文件、Cookie的清除、游览器地址栏历史地址的清除、清楚表单自动完成历史记录、清楚自动密码历史记录、清除收藏夹中的内容、清除RAS自动拨号历史记录、清除系统临时文件夹、清空回收站、清除...

    易想人才网

    (三)、后台功能说明 系统设置:基本设置 管理员管理 数据库管理 数据管理 个人求职信息管理: 求职记录 收件箱 职位收藏夹 简历管理 简历回收站 企业招聘信息管理: 职位管理 | 回收站 简历管理 |...

Global site tag (gtag.js) - Google Analytics