Vb İle, Gizli Klasörlerin İçeriğini Boşaltma. Yardım.
-
s.a. arkadaşlar.
hepimiz zaman zaman temp olsun internet explorer olsun bu gibi klasörlerin içeriğini boşaltırız. benim aklımada bu işi daha pratik yapacak bi programcık geldi. fakat bir iki noktada takıldım. normal klasörleri kill klasör yolu vs komutlarla boşaltıyoruz sorun yok fakat windowsun altındaki gizli klasörleri boşaltmaya gelince hata veriyor dolayısı ile. vb kodlamadan anlayan arkadaşlardan ricam;
1: windowsun hangi bölüme kurulu olduğunu nasıl tespit ettiririm,
2: geçerli user name e göre makinanın local settings e ve oradanda temp, temporary internet files ve history klasörlerini nasıl boşalttırırım.
bu konuda bana yardımcı olabilcek varmı acaba?
-
vb bilmiom ama %temp% felan %windows %system32 hep böyle olur eger yerini bilmiyorsan
-
ben yerini biliyorumda :) program bilmiyor :)
-
visual basic için bi forum vardı zaten pascal-delfi ne alaka?
şöyle bir kod buldum birazdan denerim belki.
Private Sub KillTempFolder()
Const sWILD As String = "*.*"
Dim sFile As String
On Error Resume Next
sFile = Dir$(gsTEMPDIR & sWILD, vbHidden Or vbReadOnly Or vbSystem)
Do While Len(sFile) > 0
SetAttr gsTEMPDIR & sFile, vbNormal
Kill gsTEMPDIR & sFile
sFile = Dir$
Loop
RmDir gsTEMPDIR
End Sub -
bende ararken vb sayfasında neden başlığı bulamadım diyorum :) hata yapmışım hocam. sanırım tıklarken alt başlığa tıklayıp orda konu açtım. özür.
kodu ben c/p yapıp denedim. run time veriyor. sen deneyebildinmi? vb nin modasımı geçti nedir artık şu sorunu hala çözemedim :) 2 aydır yapabilcemmi diye bakıyorum bu olaya :)
-
Text1.text="c:\xxxx.exe"
SetAttr Text1, 32 ' Bu satır dosyayı arşiv dosyası özelliğine getiti
Kill (Text1) ' Bildiğin silem koduYukardaki kod parçası işini görür, yaptığı iş şudur gizli dosyayı önce arşiv dosyası özelliğine getirir sonra siler, bunu istediğin şekilde tüm dosyalar için kullanabilirsin.
-
hocam ilgine sağol. sen tek bir dosya için bir kod vermişsin. ben bunu genele uyarlayıp klasöre çevirdim. fakat sonuç yine aynı. yine benzer run time hatası alıyorum :S
-
' -----------------------En üste Declartion kısmına yazılacak--------------
Option Explicit
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Integer) As Integer
'-------------------------------------------------------------------------------Private Sub Form_Load()
Dim Wyol As String, uz
Wyol = String(145, Chr(32))
uz = GetWindowsDirectory(Wyol, Len(Wyol))
Text1 = Left(Wyol, uz) ' Text1 e Windows dizini yazar
End Sub'------- Yukardaki kodda Windows dizinin yerini veriri----------------
Hata ya gelirsek sen Kill komutukla klasör silmeye çalışıyorsan hata veriri zaten
Kill sadece dosya siler, eğer klasör silmek istiyorsan önce Kill ile klasörün içindeki tüm dosyaları silersin sonrada Rmdir komutu ile klasörür silersin.
-
yok hocam klasörü değil klasör içeriğini sildirmeye çalışıyorum. bak sana hedef lasörlerin yollarını vereyim.
C:\WINDOWS\Prefetch
C:\WINDOWS\temp
C:\Documents and Settings\destek\Local Settings\temp
C:\Documents and Settings\destek\Local Settings\Temporary Internet Files
C:\Documents and Settings\destek\Local Settings\History
işte bu beş klasörün içeriğini sildirmeye çalışıyorum. klasörler kalacak içinde ne var ne yok silinecek. her part için ayrı ayrı y0l belirlemek yerine, windows hangi partda kurulu onu kendi belirleyip ona göre bu yoldaki c: veya d: gibi atarlatabilirsem güzel olacak. sanırım şimdi daha açıklayıcı oldum.