新聞中心
C#中沒有拷貝整個文件夾的方法,最近需要用到,就寫了一個Demo,拿出來跟大家分享一下

創(chuàng)新互聯(lián)公司2013年成立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站建設、網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元西寧做網(wǎng)站,已為上家服務,為西寧各地企業(yè)和個人服務,聯(lián)系電話:18982081108
主要思想:
1、寫一個拷貝文件夾的函數(shù)CopyFolder,傳入源文件夾路徑和目的文件夾路徑
2、判斷目的文件夾路徑是否存在,如果不存在,創(chuàng)建此文件夾
3、獲取源文件夾下的所有文件,拷貝這些文件到目的文件夾
4、獲取源文件夾下的所有文件夾,循環(huán)調用CopyFolder(此處利用了遞歸)
代碼:
拷貝文件夾
- using System;using System.IO;namespace FolderService{
- public class FolderService
- {
- static void Main(string[] args)
- {
- if (args.Length != 2)
- {
- Console.WriteLine("請輸入源文件夾地址和目的文件夾地址!");
- return;
- }
- // 判斷源文件夾是否存在
- if (!Directory.Exists(args[0])) {
- Console.WriteLine("源文件夾不存在!");
- return;
- }
- // 拷貝文件夾
- FolderService copy = new FolderService();
- string flag = copy.CopyFolder(args[0], args[1]);
- Console.WriteLine(flag);
- }
- ///
- /// Copy文件夾
- ///
- /// 源文件夾路徑
- /// 目的文件夾路徑
- ///
完成狀態(tài):success-完成;其他-報錯 - public string CopyFolder(string sPath, string dPath)
- {
- string flag = "success";
- try
- {
- // 創(chuàng)建目的文件夾
- if (!Directory.Exists(dPath))
- {
- Directory.CreateDirectory
- (dPath);
- }
- // 拷貝文件
- DirectoryInfo sDir = new DirectoryInfo(sPath);
- FileInfo[] fileArray = sDir.GetFiles();
- foreach (FileInfo file in fileArray) {
- file.CopyTo(dPath + "\\" + file.Name, true);
- }
- // 循環(huán)子文件夾
- DirectoryInfo dDir = new DirectoryInfo(dPath);
- DirectoryInfo[] subDirArray = sDir.GetDirectories();
- foreach (DirectoryInfo subDir in subDirArray)
- {
- CopyFolder(subDir.FullName, dPath + "http://" + subDir.Name);
- }
- }
- catch (Exception ex)
- {
- flag = ex.ToString();
- }
- return flag;
- }
- }}
測試Dmo:
1、把代碼保存為FolderService.cs,把此cs文件放到H:\Program Files\Microsoft Visual Studio 9.0\VC下(具體根據(jù)VS安裝路徑不同,地址有所不同)
2、打開Visual Studio Tools中的Visual Studio 2008 Command Prompt,把FolderService.cs拖到此Command Prompt中,在路徑最前方加入csc+空格,回車編譯此程序,如下圖:
3、可以在目錄H:\Program Files\Microsoft Visual Studio 9.0\VC中看到生成了一個FolderService.exe文件,運行此文件(打開cmd.exe,把FolderService.exe拖到cmd.exe中,加上參數(shù),回車),如下圖:
4、這時可以看到,E:\test目錄下的文件全部都拷貝到G:\test目錄下了
【編輯推薦】
- C#簡單游戲外掛制作(以Warcraft Ⅲ為例)
- C#控件的閃爍問題解決方法總結
- 淺析C#延遲加載的運行機制和應用場景
- C#多線程中l(wèi)ock的用法
- 用C#實現(xiàn)HTTP協(xié)議下的多線程文件傳輸
本文標題:用C#實現(xiàn)文件夾拷貝
本文來源:http://www.dlmjj.cn/article/coosddd.html


咨詢
建站咨詢
