1. 程式人生 > >C# 複製檔案和資料夾

C# 複製檔案和資料夾

因為有好多臺伺服器,每次都要手動進行備份,有點麻煩,而且容易出錯,所以寫了下面這個用程式來備份,比較簡單,就是用C#複製檔案和檔案

複製程式碼
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 using System.IO;
 5 using System.Configuration;
 6 
 7 namespace Copy
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13 //eg D:\publish 14 //不用 ConfigurationManager而用下面這個是因為 FrameWork2.0 15 string sourceDir = ConfigurationSettings.AppSettings["SourcePath"].ToString(); 16 //eg D:\BackUp 17 string targetDir = ConfigurationSettings.AppSettings["TargetPath"].ToString();
18 Console.WriteLine("正在進行備份,請不要關閉視窗............."); 19 DirectoryCopy(sourceDir, targetDir); 20 Console.WriteLine("成功複製備份,按任意鍵關閉視窗............"); 21 Console.ReadKey(); 22 } 23 24 static void DirectoryCopy(string sourceDir, string targetDir)
25 { 26 if (!Directory.Exists(sourceDir)) 27 return; 28 if (!Directory.Exists(targetDir)) 29 return; 30 31 string sourceFolderName = sourceDir.Replace(Directory.GetParent(sourceDir).ToString(), "").Replace(Path.DirectorySeparatorChar.ToString(), ""); 32 33 if (sourceDir == targetDir + sourceFolderName) 34 return; 35 36 //要複製到的路徑 37 string tagetPath=targetDir + Path.DirectorySeparatorChar.ToString() + sourceFolderName; 38 if (Directory.Exists(tagetPath)) 39 { 40 Directory.Delete(tagetPath, true); 41 } 42 43 Directory.CreateDirectory(tagetPath); 44 45 //複製檔案 46 string[] files = Directory.GetFiles(sourceDir); 47 for (int i = 0; i < files.Length; i++) 48 { 49 File.Copy(files[i], tagetPath+Path.DirectorySeparatorChar.ToString()+Path.GetFileName(files[i])); 50 } 51 //複製目錄 52 string[] dires = Directory.GetDirectories(sourceDir); 53 for (int j = 0; j < dires.Length; j++) 54 { 55 DirectoryCopy(dires[j], tagetPath); 56 } 57 } 58 } 59 }
複製程式碼

相關推薦

C# 複製檔案資料

因為有好多臺伺服器,每次都要手動進行備份,有點麻煩,而且容易出錯,所以寫了下面這個用程式來備份,比較簡單,就是用C#複製檔案和檔案 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using S

linux下C++移動檔案資料 複製檔案

功能: 給一個檔案重新命名用 法: int rename(char *oldname, char *newname);標頭檔案:#include <stdio.h>說明:用該函式可以實現檔案移動功能,把一個檔案的完整路徑的碟符改一下就實現了這個檔案的移動。具體參見

C#選擇檔案資料

C#選擇檔案    OpenFileDialog fileDialog = new OpenFileDialog();             fileDialog.InitialDirectory = "C://";             fileDialog.Fil

linux複製遠端檔案資料

scp(secure copy)是一個遠端檔案複製程式,它可以將不同伺服器上的檔案或資料夾相互複製,便於備份檔案等。 從本地複製到遠端 複製檔案 scp 1.txt [email protected]

C# 對檔案資料的操作包括刪除、移動與複製

在.Net中,對檔案(File)和資料夾(Folder)的操作可以使用File類和Directory類,也可以使用FileInfo類和DirectoryInfo類。資料夾(Folder)是隻在Windows作業系統中使用的名詞。在作業系統的理論中,人們更習慣於使用目錄(Directory)這個名詞。或許微軟為

C#/.NET中刪除指定資料下所有檔案資料的幾種方法彙總

我們知道,在C#/.NET中的System.IO名稱空間下,都是關於檔案和資料夾資訊操作的類。如果在開發中有刪除指定資料夾下所有檔案和資料夾這樣的需要,應該如何使用C#/.NET來實現這個需求呢?方法一:直接刪除整個指定資料夾使用使用Directory.Delete("資料

C#WPF選擇檔案資料

OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//該值確定是否可以選擇多個檔案 dialog.Title = "請選擇資料夾"; dialog.Filter = "所有檔案(*.*)|*.*"; if

Python檔案資料處理相關函式:刪除、複製、移動

這裡使用的是Python3.7版本,在Win10系統上執行 有關刪除檔案、資料夾的問題,網上有不少資料,但作為一個新手,感覺很多都介紹的模稜兩可,必須要自己測試過才能知道到底是怎麼回事,因此在這裡簡單介紹一下Python處理檔案和資料夾的函式。 目錄 刪除

C語言實現cp -r --parents拷貝檔案資料

    linux下cp -r --parents為回溯的拷貝資料夾,同時複製時保留檔案的目錄結構。下面用posix標準的C語言來實現它。     filetype函式用來檢測指定目錄下面的檔案是否存在,如果存在的話,是那種型別的檔案。函式返回'n'表示檔案不存在,返回b,

java檔案資料複製、刪除、移動操作

import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.InputStre

Java實現zip檔案壓縮(單個檔案資料以及檔案資料的組合壓縮)

Java實現zip檔案壓縮(單個檔案、資料夾以及檔案和資料夾的組合壓縮) 2016年10月04日 23:22:24 ljheee 閱讀數:13215 標籤: 壓縮javazip 更多 個人分類: Java應用 版權宣告:本文為博

Linux 中檔案資料獲取 MySQL 許可權(SELinux)

  今天在 Linux 系統上移動 MySQL 的資料庫目錄 配置如下: /etc/my.cnf [mysqld]datadir=/home/mysqlsocket=/var/lib/mysql/mysql.sock 更改完配置檔案重啟MYSQL的時候出現

c 判斷檔案資料是否存在,多種方法, 為什麼從一開始就不直接來個統一的呢?

具體內容,請看: https://blog.csdn.net/u012494876/article/details/51204615   判斷檔案或資料夾是否存在,竟然有這麼多方法: GetFileAttributes() CreateFile() _access() Find

linux檢視檔案資料大小方法

檢視磁碟的佔用情況: $ sudo df -h udev 3.8G 0 3.8G 0% /dev tmpfs 771M 9.4M 762M 2% /run /dev/sda9 57G 5.1G 49

Linux下檢視檔案資料佔用記憶體大小、刪除日誌 命令

轉:https://www.cnblogs.com/lixuwu/p/5944062.html 閱讀目錄 1 Linux下檢視檔案和資料夾大小 2 刪除系統日誌等 3 實踐 場景:在sts中執行自動部署時候maven提示No space left on d

python判斷檔案資料是否存在、沒有則建立資料

原文出處:https://www.cnblogs.com/hushaojun/p/4533241.html >>> import os >>> os.path.exists('d:/assist') True

Linux檔案資料許可權解讀

首先來檢視一下當前目錄下的檔案內容吧: ls -l 檢視當前目錄下的檔案列表 ls -ld 目錄名稱 檢視指定資料夾許可權 ls -l xxx.xxx (xxx.xxx是檔名) 檢視指定的檔案 我們可以看到檔案的許可權,-rw-rw-r-- 

Nodejs編寫複製檔案資料命令

github地址 use npm i fuzhi -g 複製檔案 fuzhi a.js b.js 複製資料夾 fuzhi dirA dirB Wiki 建立一個node命令的兩個關鍵點 1.在package.json中加上bin屬性 { "name": "fuzhi", "vers

Java建立、重新命名、刪除檔案資料

package my.file;   import java.io.File;   import java.io.FileOutputStream;   import java.io

intellij idea local changes 忽略 檔案資料的方法

在我們svn提交的時候想要看看自己改了哪些檔案,可以在 Version Control--> Local Changes 中看到,並在裡面提交程式碼即可,但是裡面會有很多我們不想看到的檔案,比如idea的配置檔案 *.iml、class檔案之類的, 想要忽略這些檔案可以用以下方法,在