klasor altindaki dosyalari baska klasore tasima [Archive] - Excel Forum

PDA

Tüm Versiyonu Göster : klasor altindaki dosyalari baska klasore tasima


hoguz2
06-10-2004, 11:29
Merhaba arkadaslar, konudanda anlasilacagi gibi butun derdim budur belirtigim bir yoldaki orn: C:\Documents and Settings\volkan\Belgelerim\Alınan Dosyalarım\ifadeler altindaki dosyalari kopyalayip belirtigim baska bir yoldaki klasorun altina atmasi. Eger butun formatlar icin sorun oluyorsa sadece not defteri formatindakileride kopyalasa olur.

yalniz makro bunu yaparken bu klasorleri acmasin VE kopyaladigi dosyalari silmesin ben onlari asagidaki gibi bir kodla siliyorum.

Sub eskiarsivisil()
ChDir ("C:\Documents and Settings\.................")
Kill ("*.*")
Dim fs, f, f1, s, sf
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("C:\Documents and Settings\.............")
Set sf = f.SubFolders
For Each f1 In sf
f1.Delete
Next
Set fs = Nothing
Set f = Nothing
Set sf = Nothing
End Sub




tesekkurler,

Haluk
06-10-2004, 11:47
Sub Test()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFolder "C:\Tmp", "C:\etc\"
End Sub


Veya;

Sub Test2()
Name "C:\Tmp" As "C:\etc\Tmp"
End Sub


Sonuçta, C:\Tmp klasörü silinir ve C:\etc\Tmp olur.

Eğer C:\Tmp klasörünün kendisi dursun ama içindeki bütün uzantılı dosyalar C:\etc klasörüne taşınsın istiyorsan yani; C:\etc\dosya.xls, C:\etc\deneme.doc gibi olsun istiyorsan:

Sub Test3()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.Movefile "C:\Tmp\*.*", "C:\etc\"
End Sub


Ve son olarak da; eğer C:\Tmp klasöründeki tüm uzantılı dosyaların bir kopyasını da C:\etc klasoru altına yerleştirmek istersen;

Sub Test4()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile "c:\Tmp\*.*", "c:\etc\"
End Sub


Tabii, kodlardaki C:\Tmp ve C:\etc dosya yollarının PC de mevcut olduğu varsayılmıştır.

hoguz2
06-10-2004, 17:22
çok tesekkur ederim harika kodlar.. ellerinize saglik...

tamer42
04-07-2006, 15:50
Merhabalar;

Dosya bir klasörden diğerine taşınırken; eğer taşınacağı yerde aynı isimde dosya varsa bu dosyanın üzerine yazarak (yada bu dosyayı silerek) taşıması nasıl sağlanabilir.


Sub Test3()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.Movefile "C:\Tmp\1111.doc", "C:\etc\"
End Sub


İyi Çalışmalar.

veyselemre
04-07-2006, 16:34
[vb:1:fd7108b3a3]Sub Test3()
Dim fso As Object
dsy = "1111.doc"
hdf = "C:\data\"
kynk = "C:\Temp\"

Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(hdf & dsy) Then fso.DeleteFile hdf & dsy
fso.Movefile kynk & dsy, hdf
Set fso = Nothing
End Sub[/vb:1:fd7108b3a3]


Özel Arama