Bu yazımızda C# ile bir klasör içindeki dosyaların farklı bir klasöre nasıl kopyalanabileceğini gösteren basit bir örnek yapacağız. Örneğimizde kaynak ve hedef klasörleri belirleyerek CopyTo metodu ile kaynak klasör içindeki tüm dosyaların hedef klasör altına kopyalanmasını sağlayacağız.
Örneğimizi Console uygulaması olarak oluşturmak üzere yeni bir proje açıyoruz. İlk olarak yapmamız gereken;
1 2 3 | using System.IO; |
namespace’ini eklemek olacak.
Daha sonra kodlarımızı aşağıdaki şekilde yazıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 13 | static void Main(string[] args) { string kaynak = @"D:\test1\"; string hedef = @"D:\test2\"; var dosyalar = new DirectoryInfo(kaynak).GetFiles("*.*"); foreach (FileInfo dosya in dosyalar) { dosya.CopyTo(hedef + dosya.Name); } Console.ReadKey(); } |
Kodlarımızın tamamı;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | using System; using System.Collections.Generic; using System.IO; //Ekle using System.Linq; using System.Text; using System.Threading.Tasks; namespace klasorTasima { class Program { static void Main(string[] args) { string kaynak = @"D:\test1\"; string hedef = @"D:\test2\"; //www.yazilimkodlama.com var dosyalar = new DirectoryInfo(kaynak).GetFiles("*.*"); foreach (FileInfo dosya in dosyalar) { dosya.CopyTo(hedef + dosya.Name); } Console.ReadKey(); } } } |
Projemizi çalıştırdığımızda test1 klasörü içindeki tüm dosyaların test2 klasörü içine kopyalandığını göreceğiz.
hocam ben bi kod buldum ama bu kod klasörü seçtiğimiz zaman klasörün içindeki klasörleri dosyaları falan kopyalıyo ben bunu istemiyorum kendinide içindekileride kopyalasın istiyorum nolur bi yardım edin
peki hocam klasör içindeki dosyalardan isminin son hanesi 3 ile biten leri nasıl kopyalatabiliriz. örneğin a1vb3, s2gf3, d2f4 gibi isimleri olan dosyalar olduğunu düşünürsek sadece sonu 3 ile bitenleri nasıl kopyalatabiliriz
var dosyalar = new DirectoryInfo(kaynak).GetFiles(“*3.*”);
şeklinde dener misin?
Konu hakkında yardımcı olabilirmisinzi
Merhaba
Bir klasör içinde dosya ismi gün + ay+ saat şeklinde dosyalarım var bunları bir bilgisayardan diğer bilgisayara texboxtan gün ve ayı alarak hedef dosyayı bulup diğer bilgisayara gün ve aya göre yeni isimle kopyalamak istiyorum ancak dosyayı bulamadı mesajını alıyorum tam dosya adını yazdığımda buluyor bunun çözümü konusunda yardımcı olurmusunuz?
örnek dosya adı 19042233.txt, 20042241.txt
gün ay
string S06D1 = @”\\192.168.80.11\08bilgi\” + textBox3.Text + “” + textBox2.Text + “*.txt”;
string S06D2 = @”\\Server-ts\SATISLAR\6_20″ + textBox1.Text + “” + textBox2.Text + “” + textBox3.Text + “.txt”;
if (File.Exists(S06D1))
{
File.Delete(S06D2);
File.Copy(S06D1, S06D2);
listBox1.Items.Add(“dosya başarıyla çekildi”);
}
else
listBox1.Items.Add(“dosya bulunamadı”);