Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Copy tất cả các file trong thư mục

  1. #1
    Ngày gia nhập
    12 2016
    Bài viết
    3

    Unhappy Copy tất cả các file trong thư mục

    Em muốn copy toàn bộ file trong thư mục A và thư mục B vào thư mục C, code xong nhưng chạy không ra kết quả đúng.
    ví dụ: Click Button A => copy all file from sourceA to destC
    Click Button B => Copy all file from sourceB to destC
    lúc này lại sản sinh ra lỗi là nếu thư mục đã tồn tại thì nó không copy vào được, hoặc khi Click Button A thì nó tự tạo Thư Mục rồi copy sourceA vào nhưng nếu Click Button B tiếp thì nó lại không chép

    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    namespace CHEPNHAC
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {            
                btnDelete.Enabled = false;
                btnTre.Enabled = false;
                btnTruTinh.Enabled = false;
                btnDao.Enabled = false;
                btnHoaTau.Enabled = false;
                btnKhmer.Enabled = false;
            }
    
             public void CopyFolder(string sourceFolder, string destFolder) {
                if (!Directory.Exists(destFolder)) // folder ton tai thi moi thuc hien copy
                  {
                   Directory.CreateDirectory(destFolder); //Tao folder moi
                    string[] files = Directory.GetFiles(sourceFolder);
                    //Neu co file thy phai copy file
                    foreach (string file in files)
                    {
                        string name = Path.GetFileName(file);
                        string dest = Path.Combine(destFolder, name);
                        File.Copy(file, dest);
                    }
                    string[] folders = Directory.GetDirectories(sourceFolder);
                    foreach (string folder in folders)
                    {
                        string name = Path.GetFileName(folder);
                        string dest = Path.Combine(destFolder, name);
                        CopyFolder(folder, dest);
                    }
                }
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    string destFolder = @"E:\";
                    string sourceFolder = @"D:\Nhac\Nhac tre";         
                    //Goi ham Copyfolder
                    CopyFolder(sourceFolder, destFolder);            
    
                    label1.Text = ("Đang chép");              
                    label1.Text = ("Đã chép xong Nhạc Trẻ");               
                    btnDelete.Enabled = true;           
                    
                }
                catch
                {
                    MessageBox.Show("Đã xãy ra lỗi");
                }
                
            }
    
            private void btnDelete_Click(object sender, EventArgs e)
            {           
                System.IO.Directory.Delete(@"E:\My Music", true);
                label1.Text = ("Đã xóa");
                btnDelete.Enabled = false;
            }
    
            private void button1_Click_1(object sender, EventArgs e)
            {
                try
                {
                    string destFolder = @"E:\trutinhTemp";
                    string sourceFolder = @"D:\Nhac\Bolero";
                    
                    //Goi ham Copyfolder
                    CopyFolder(sourceFolder, destFolder);
                    label1.Text = ("Đang chép");
                    label1.Text = ("Đã chép xong Nhạc Trữ Tình");
                    btnDelete.Enabled = true;                
                }
                catch
                {
                    MessageBox.Show("Đã xãy ra lỗi");
                    
                }
            }
    
            private void btnCheck_Click(object sender, EventArgs e)
            {
                try
                {
                    Directory.CreateDirectory(@"E:\My Music");
                    label1.Text = ("Thẻ nhớ sẵn sàng");                
                    label1.ForeColor = Color.Green;                
                    btnCheck.Enabled = false;
                    btnTruTinh.Enabled = true;
                    btnTre.Enabled = true;
                    btnKhmer.Enabled = true;
                    btnHoaTau.Enabled = true;
                    btnDao.Enabled = true;
    
                       
                }
                catch
                {
                    label1.Text = ("Chưa nhận dạng được USB");
                    label1.ForeColor = Color.Red;
                }
    
            }
    
            private void btnKhmer_Click(object sender, EventArgs e)
            {
                try
                {
                    string destFolder = @"E:\My Music";
                    string sourceFolder = @"D:\Nhac\Nhac Khmer";
                    //Goi ham Copyfolder
                    CopyFolder(sourceFolder, destFolder);
                    label1.Text = ("Đang chép");
                    label1.Text = ("Đã chép xong Nhạc Khmer");
                    btnDelete.Enabled = true;
                }
                catch
                {
                    MessageBox.Show("Đã xãy ra lỗi");
                }
            }
    
            private void btnHoaTau_Click(object sender, EventArgs e)
            {
                try
                {
                    string destFolder = @"E:\My Music";
                    string sourceFolder = @"D:\Nhac\Nhac Hoa Tau";
                    //Goi ham Copyfolder
                    CopyFolder(sourceFolder, destFolder);
                    label1.Text = ("Đang chép");
                    label1.Text = ("Đã chép xong Nhạc Hòa Tấu");
                    btnDelete.Enabled = true;
                }
                catch
                {
                    MessageBox.Show("Đã xãy ra lỗi");
                }
            }
    
            private void btnDao_Click(object sender, EventArgs e)
            {
                try
                {
                    string destFolder = @"E:\My Music";
                    string sourceFolder = @"D:\Nhac\Nhac dao";
                    //Goi ham Copyfolder
                    CopyFolder(sourceFolder, destFolder);
                    label1.Text = ("Đang chép");
                    label1.Text = ("Đã chép xong Nhạc Đạo");
                    btnDelete.Enabled = true;
                }
                catch
                {
                    MessageBox.Show("Đã xãy ra lỗi");
                }
            }
        }
    }
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    02 2012
    Bài viết
    11

    lúc này lại sản sinh ra lỗi là nếu thư mục đã tồn tại thì nó không copy vào được
    Hàm File.Copy(file, dest) xảy ra lỗi là do không them tham số có thể ghi đè lên file đã tồn tại.

    File.Copy(file, dest,true) có ghi đè.
    -----ĐM fms17----

  3. #3
    Ngày gia nhập
    05 2012
    Bài viết
    27

    Visual C# Code:
    1. public void CopyFolder(string sourceFolder, string destFolder)
    2.         {
    3.             if (!Directory.Exists(destFolder)) // folder ton tai thi moi thuc hien copy
    4.             {
    5.                 Directory.CreateDirectory(destFolder); //Tao folder moi
    6.             }
    7.             string[] files = Directory.GetFiles(sourceFolder);
    8.             //Neu co file thy phai copy file
    9.             foreach (string file in files)
    10.             {
    11.                 string name = Path.GetFileName(file);
    12.                 string dest = Path.Combine(destFolder, name);
    13.                 File.Copy(file, dest, true);
    14.             }
    15.             string[] folders = Directory.GetDirectories(sourceFolder);
    16.             foreach (string folder in folders)
    17.             {
    18.                 string name = Path.GetFileName(folder);
    19.                 string dest = Path.Combine(destFolder, name);
    20.                 CopyFolder(folder, dest);
    21.             }
    22.         }
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn