CopyFolder
CopyFolder
Belirtilen bir hedef klasörü tüm alt klasörleri ve dosyaları ile birlikte belirtilen bir hedef klasöre kopyalar.
FSO.CopyFolder KaynakKlasor,Hedef,Overwrite
KaynakKlasor kopyalanacak olan klasör, Hedef kaynak klasörün kopyalanacağı hedef klasördür. Overwrite ise True veya False değerlerini alarak eğer klasör var ise klasörün üzerine yazılıp yazılmayacağını belirler. True olursa üzerine yazılır. False olursa yazılmaz. Eğer belirtilmez ise varsayılan olarak True kabul edilir.
<%
FSO.CopyFolder "C:Windows","D:Deneme",True
%>
Bu kod C sürücüsündeki Windows klasörünü tüm içeriğiyle beraber D sürücüsündeki Deneme isimli klasörün içine kopyalar.Hedef belirtilirken sonunda slash kullanıldığına dikkat edin. Eğer slash kullanmazsanız Windows klasörünün içeriği(kendisi değil) Deneme klasörüne kopyalanır.
<%
FSO.CopyFolder "C:Deneme*","D:Deneme"
'veya
FSO.CopyFolder "C:Deneme*","D:Deneme"
%>
Bu şekilde C sürücüsündeki Deneme klasörünün sadece alt klasörleri D sürücüsündeki Deneme klasörüne kopyalanır.
Eğer hedef olarak verdiğiniz klasör yok ise oluşturulur ve kaynak klasörün içeriği buraya kaydedilir. Yani farklı kaydetme olayı. Mesela D sürücüsünde WinXP isimli bir klasör yok diyelim.
<%
FSO.CopyFolder "C:Windows","D:WinXP"
%>
Bu durumda C sürücüsündeki Windows klasörü D sürücüsüne WinXP ismiyle kaydedilir. Hedef klasör belirtilirken yine slash kullanılmadığına dikkat edin.
Eğer XYZ klasörü yoksa
<%
FSO.CopyFolder "C:Windows","D:XYZWinXP"
%>
derseniz hata alırsınız. FSO sizin için bir XYZ klasörü oluşturup bunun içine WinXP'yi oluşturmaz. Ama eğer XYZ klasörü varsa WinXP klasörü yoksa bu oluşturulur ve kaynak klasör içeriği bunun içine kopyalanır. Eğer WinXP klasörü de varsa bu durumda, yukarda belirtildiği gibi, sonda slash kullanılıp kullanılmadığına bağlı olarak kaynak klasör aynı isimle klasör yapısı korunarak veya sadece içeriğiyle bu klasör içine kopyalanır.
NOT : FSO ile bu şekilde klasör kopyalayacağınız gibi "FSO ile klasör işlemleri" konusunda göreceğiniz gibi GetFolder ile klasörü bir nesneye atayıp "KlasorNesnesi.Copy Hedef" şeklinde de kopyalayabilirsiniz. Ancak bu şekilde tek bir klasör kopyalayabilirsiniz.
<%
FSO.CopyFolder "C:Windows" , "D:Deneme", True(False)
%>
ile
<%
Set Klasor = FSO.GetFolder("C:Windows")
Klasor.Copy "D:Deneme", True(False)
%>
aynı işi görür.