Klasör oluşturup dosyaları klasöre taşıma

Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Merhaba

Örnek veriyorum;
Bilgisayarda F diskimde klasörsüz halde duran yüzlerce dosya var.

Kapıcılar kralı.avi
Esaretin bedeli.mp4
Görünmez adam.mkv
gibi..


Bu dosyaların adlarını (dosya uzantısı olmadan) excelde listeleme imkanımız var.

Excel ile listelenen adlarla aynı adlara sahip boş klasör oluşturmak da mümkün.

Oluşturulan klasörlere, kendi dosyalarını taşıtabilme imkanımız var mıdır? Excel ile bunu yapabilir miyiz?

Yani dosyaları, oluşturduğımuz klasörlerin içine taşıyabilir miyiz?

..
 
Katılım
5 Ocak 2020
Mesajlar
73
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
22-02-2023
Merhaba aşağıdaki dosyayı, taşıtmak istediğiniz dosyaların haricinde bir klasöre kopyalayıp çalıştırın. Seçtiğiniz klasördeki dosyaların adıyla klasörler oluşturup ilgili dosyaları taşıyacaktır.
Bir filmin hem kendisini hemde varsa posterini aynı isimle adlandırırsanız, ikisini aynı klasöre taşıyacaktır.

kod

Sub dosyalara_klasor_olustur() 'seçilen klasördeki tüm dosyalara kendi adıyla klasör oluşturup dosyaları içine atar

Set klasorsec = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasör seçin !", &H100)
yol = klasorsec.Items.Item.Path
Set nesne = CreateObject("Scripting.FileSystemObject")
Set klasor = nesne.GetFolder(yol)
Set dosyalar = klasor.Files
For Each dosya In dosyalar
kl = Split(dosya.Name, "." & nesne.GetExtensionName(dosya.Name))(0)
If nesne.FolderExists(yol & "\" & kl) = False Then nesne.CreateFolder yol & "\" & kl
yer = yol & "\" & kl & "\"
nesne.moveFile Source:=dosya, Destination:=yer
Next
MsgBox "Islem tamam"
End Sub
 

Ekli dosyalar

Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Merhaba aşağıdaki dosyayı, taşıtmak istediğiniz dosyaların haricinde bir klasöre kopyalayıp çalıştırın. Seçtiğiniz klasördeki dosyaların adıyla klasörler oluşturup ilgili dosyaları taşıyacaktır.
Bir filmin hem kendisini hemde varsa posterini aynı isimle adlandırırsanız, ikisini aynı klasöre taşıyacaktır.

kod

Sub dosyalara_klasor_olustur() 'seçilen klasördeki tüm dosyalara kendi adıyla klasör oluşturup dosyaları içine atar

Set klasorsec = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasör seçin !", &H100)
yol = klasorsec.Items.Item.Path
Set nesne = CreateObject("Scripting.FileSystemObject")
Set klasor = nesne.GetFolder(yol)
Set dosyalar = klasor.Files
For Each dosya In dosyalar
kl = Split(dosya.Name, "." & nesne.GetExtensionName(dosya.Name))(0)
If nesne.FolderExists(yol & "\" & kl) = False Then nesne.CreateFolder yol & "\" & kl
yer = yol & "\" & kl & "\"
nesne.moveFile Source:=dosya, Destination:=yer
Next
MsgBox "Islem tamam"
End Sub
İlginiz için çok teşekkürler. Denemeler yapıp neticeyi arz edeceğim. Sağolun
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Merhaba aşağıdaki dosyayı, taşıtmak istediğiniz dosyaların haricinde bir klasöre kopyalayıp çalıştırın. Seçtiğiniz klasördeki dosyaların adıyla klasörler oluşturup ilgili dosyaları taşıyacaktır.
Bir filmin hem kendisini hemde varsa posterini aynı isimle adlandırırsanız, ikisini aynı klasöre taşıyacaktır.

kod

Sub dosyalara_klasor_olustur() 'seçilen klasördeki tüm dosyalara kendi adıyla klasör oluşturup dosyaları içine atar

Set klasorsec = CreateObject("Shell.Application").BrowseForFolder(0, "Lütfen bir klasör seçin !", &H100)
yol = klasorsec.Items.Item.Path
Set nesne = CreateObject("Scripting.FileSystemObject")
Set klasor = nesne.GetFolder(yol)
Set dosyalar = klasor.Files
For Each dosya In dosyalar
kl = Split(dosya.Name, "." & nesne.GetExtensionName(dosya.Name))(0)
If nesne.FolderExists(yol & "\" & kl) = False Then nesne.CreateFolder yol & "\" & kl
yer = yol & "\" & kl & "\"
nesne.moveFile Source:=dosya, Destination:=yer
Next
MsgBox "Islem tamam"
End Sub
Merhaba Sayın yunus788

Gümüş üye olduğum için paylaştığınız dosyayı indiremedim. Fakat verdiğiniz kodları denedim, istediğim şey tam olarak oldu.

İlginiz için teşekkür ederim.


Sayın yunus788, acaba bu işlemin tam tersini yapacak kodlarımız da var mıdır?

Yani klasörün içinde bulunan dosyaları, klasörsüz hale getirecek kodlar? Arşivimizde dursun.

Teşekkürler, saygılar
 
Katılım
18 Mayıs 2009
Mesajlar
1,184
Excel Vers. ve Dili
Excel 2016 Türkçe
Katılım
5 Ocak 2020
Mesajlar
73
Excel Vers. ve Dili
2007
Altın Üyelik Bitiş Tarihi
22-02-2023
Rica ederim, hepimiz takıldığımız yerde forumdan faydalanıyoruz.
 
Üst