Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Joomla »

crear un script para borrar temporales joomla

Estas en el tema de crear un script para borrar temporales joomla en el foro de Joomla en Foros del Web. Buenas gente, soy nuevo x aki,primero felicitar x todo este gran trabajo y ayuda q dais en segundo lugar no se si esto esta bien ...
  #1 (permalink)  
Antiguo 21/06/2010, 18:03
 
Fecha de Ingreso: septiembre-2008
Mensajes: 3
Antigüedad: 15 años, 7 meses
Puntos: 0
crear un script para borrar temporales joomla

Buenas gente,

soy nuevo x aki,primero felicitar x todo este gran trabajo y ayuda q dais

en segundo lugar no se si esto esta bien aki,pero tiene relacion con joomla, asi q espero que me puedan ayudar

el tema es que quiero crear un script para que me borre los archivos de la carpeta TEMPS que se guardan en mi servidor, dnd tengo alojado joomla

no tengo ni idea de scripts y buscando por internet e encontrado lo siguiente...pero no se si sta bien o mal

Código:
Option Explicit

Dim fso,ws,Title
Set fso = CreateObject("Scripting.FileSystemObject")
Set ws = WScript.CreateObject("WScript.Shell")
Title = "Eliminar archivos temporales"

Dim TmpDir
TmpDir = ws.Environment("Process")("Temp")

ChkTmpSafe

Dim OldTmpSize
OldTmpSize = fso.GetFolder(TmpDir).size

Dim arFiles(),cnt,dcnt,Fldr,SubFldr,File
cnt = -1
dcnt = 0
DelTmpFiles TmpDir

DelEmptyFldrs TmpDir

Dim strF,strD,RptSize,TotSave
CalcSave

If dcnt >= 1 Then ws.Popup cnt & strF & dcnt & _
  strD & vbCRLF & vbCRLF & RptSize & vbCRLF & _
  vbCRLF & TotSave,60,Title

Cleanup

Sub ChkTmpSafe
Dim Drv,Unsafe,WinDir,ComDir,PgmDir,SysDir,UnsafeDir
  If TmpDir = "" Then
    ws.Popup "Condición insegura detectada.  %TEMP% " &_
    "Variable no encontrada.",60,Title,16
    Cleanup
    WScript.Quit
  End If
  If Not fso.FolderExists(TmpDir) Then
    fso.CreateFolder(TmpDir)
    Cleanup
    WScript.Quit
  End If
  For Each Drv In(fso.Drives)
    If Drv.DriveType = 2 or Drv.DriveType = 3 Then _
      UnSafe = UnSafe & Drv.RootFolder & "|"
  Next
  Unsafe = Unsafe & fso.GetSpecialFolder(0) & "|"
  Unsafe = Unsafe & fso.GetSpecialFolder(0) & "\Command|"
  Unsafe = Unsafe & ws.RegRead("HKLM\Software\Microsoft" _
    & "\Windows\CurrentVersion\ProgramFilesPath") & "|"
  Unsafe = Unsafe & fso.getspecialfolder(1)
  Unsafe = Split(Unsafe,"|",-1,1)
  For Each UnsafeDir In Unsafe
    If UCase(UnsafeDir) = UCase(TmpDir) Or _
    UCase(UnsafeDir) & "\" = UCase(TmpDir) Or _
    UCase(UnsafeDir) = UCase(TmpDir) & "\" Then
      ws.Popup "Condición insegura detectada.  %TEMP% " &_
      "Variable establecida a " & TmpDir,60,Title,16
      Cleanup
      WScript.Quit
    End If
  Next
End Sub

Sub DelTmpFiles(FldrSpec)
  Set Fldr = fso.GetFolder(FldrSpec)
  For Each File In Fldr.Files
    cnt = cnt + 1
    Redim Preserve arFiles(cnt)
    Set arFiles(cnt) = File
  Next
  For Each SubFldr in Fldr.SubFolders
    DelTmpFiles SubFldr
  Next
  For Each file in arFiles
    On Error Resume Next
    file.Delete True
    If Err.Number = 0 Then dcnt = dcnt + 1
    Err.Clear
  Next
End Sub

Sub DelEmptyFldrs(FldrSpec)
  Set Fldr = fso.GetFolder(FldrSpec)
  For Each SubFldr in Fldr.SubFolders
    DelEmptyFldrs SubFldr
  Next
  On Error Resume Next
  If UCase(Fldr.Path) <> UCase(TmpDir) Then
    If Fldr.Files.Count = 0 Then
      If Fldr.SubFolders.Count = 0 Then
        Fldr.Delete
      End If
    End If
  End If
  If Err.Number = 76 Then
    Err.Clear
    On Error GoTo 0
    DelEmptyFldrs(TmpDir)
  End If
End Sub

Sub CalcSave
  Dim NewTmpSize,SaveSize,s1,s2
  Dim TmpClnLog,OldSave,HideLog,Log
  NewTmpSize = fso.GetFolder(TmpDir).size
  SaveSize = OldTmpSize - NewTmpSize
  s1 = " de espacio libre recuperado."
  If SaveSize < 1024 Then
    RptSize = SaveSize & " bytes" & s1
  ElseIf SaveSize < 1048576 Then
    RptSize = Round(SaveSize / 1024) & " KB" & s1
  Else RptSize = Round(SaveSize / 1048576) & " MB" & s1
  End If
  Log = fso.GetSpecialFolder(0) & "\TempClean.Log"
  If Not fso.FileExists(Log) Then fso.CreateTextFile(Log)
  If fso.GetFile(Log).Size = 0 Then
    Set TmpClnLog = fso.OpenTextFile(Log,8,True)
    TmpClnLog.WriteBlankLines(1)
  End If
  Set TmpClnLog = fso.OpenTextFile(Log,1)
  OldSave = TmpClnLog.ReadLine
  If Not IsNumeric(OldSave) Then OldSave = 0
  TotSave = OldSave + SaveSize
  Set TmpClnLog = fso.OpenTextFile(Log,2)
  TmpClnLog.WriteLine TotSave
  TmpClnLog.Close
  s2 = " de espacio recuperado hasta la fecha."
  If TotSave < 1024 Then
    TotSave = TotSave & " bytes" & s2
  ElseIf TotSave < 1048576 Then
    TotSave = Round(TotSave / 1024) & " KB" & s2
  Else TotSave = Round(TotSave / 1048576) & " MB" & s2
  End If
  cnt = cnt + 1
  If cnt = 1 Then strF = " archivo encontrado, " _
    Else strF = " archivos encontrados, "
  If dcnt = 1 Then strD = " archivo borrado." _
    Else strD = " archivos borrados." 
  Set TmpClnLog = Nothing
End Sub

Sub Cleanup
  Set fso = Nothing
  Set ws = Nothing
  Set Fldr = Nothing
End Sub
aber si me podeis ayudar cone sto o sino crear otro nuevo...

gracias

Etiquetas: borrar, scripts, temporales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:23.