El Blog de Gualtrysoft

Windows 2000/2003/2008, Active Directory, VBScript, Hyper-V, PowerShell y todo aquello interesante a la hora de usar, configurar y administrar Windows Server. También tenemos longanizas…

Script VBScript Para Borrar Ficheros Viejos (2)

Posted by urpiano en Lunes 12 \12\UTC mayo \12\UTC 2008

Basado en un script mío anterior, este script sirve para borrar ficheros cuya fecha de última modificación sea igual o anterior a una fecha pasada como parámetro. Permite también que el borrado sea recursivo (no sólo se borran los ficheros de la carpeta pasada como parámetro, si no tambien todos aquellos que estén en el árbol cuya raíz es esa misma carpeta). Por último, permite especificar que sólo se borren aquellos ficheros con determinadas extensiones o sólo aquellos que no tienen determinadas extensiones.

Sintaxis

cscript [//nologo] borrar-ficheros-hasta-fecha.vbs [/R] [/E:extensiones] [/X:extensiones] [/?] ruta fecha

Siendo

Etiqueta Dato ¿Requerido? Descripción
  ruta
Ruta de la carpeta en la que se borrarán los ficheros que en ella se ubiquen.
  fecha
Fecha en formato DD/MM/YYYY; todos los ficheros que tengan su fecha de última modificación igual o anterior a ésta, serán los borrados.
R borrado_recursivo No
Si se pasa este modificador el borrado será recursivo (se borrarán todos los archivos contenidos en el árbol de carpetas cuya raíz es la pasada como parámetro).
E extensiones No
Lista de extensiones, separadas por comas, de los ficheros que se borrarán; todos los ficheros cuyas extensiones no estén incluidas en esta lista no serán borrados.
X extensiones No
Lista de extensiones, separadas por comas, de los ficheros que no se borrarán; todos los ficheros cuyas extensiones no estén incluidas en esta lista serán borrados.
?   No
Muestra la ayuda en línea.

Ejemplos:

– Se borrarán todos los ficheros ubicados en la carpeta “c:\orcosdifuntos” que tengan como fecha de última modificación una fecha igual o anterior a “20/02/2002”:

cscript //nologo borrar-ficheros-hasta-fecha.vbs "c:\orcosdifuntos" "20/02/2002"

– Se borrarán todos los ficheros en el árbol de carpetas cuya raíz es la carpeta “c:\orcosdifuntos” que tengan como fecha de última modificación una fecha igual o anterior a “20/02/2002”:

cscript //nologo borrar-ficheros-hasta-fecha.vbs /R "c:\orcosdifuntos" "20/02/2002"

– Se borrarán todos los ficheros en el árbol de carpetas cuya raíz es la carpeta “c:\orcosdifuntos” que tengan como fecha de última modificación una fecha igual o anterior a “20/02/2002” y cuyas extensiones sean wmv,asf,mpg:

cscript //nologo borrar-ficheros-hasta-fecha.vbs /R /E:wmv,asf,mpg "c:\orcosdifuntos" "20/02/2002"

– Se borrarán todos los ficheros en el árbol de carpetas cuya raíz es la carpeta “c:\orcosdifuntos” que tengan como fecha de última modificación una fecha igual o anterior a “20/02/2002” y cuyas extensiones no sean doc,txt,xls:

cscript //nologo borrar-ficheros-hasta-fecha.vbs /R /X:doc,txt,xls "c:\orcosdifuntos" "20/02/2002"

Este es el código del script

'*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*
'*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°*
'* borrar-ficheros-hasta-fecha.vbs                                     *
'*                                                                     *
'* Basado en un script mío anterior, este script sirve para borrar     *
'* ficheros cuya fecha de última modificación sea igual o anterior a   *
'* una fecha pasada como parámetro. Permite también que el borrado sea *
'* recursivo (no sólo se borran los ficheros de la carpeta pasada como *
'* parámetro, si no tambien todos aquellos que estén en el árbol cuya  *
'* raíz es esa misma carpeta). Por último, permite especificar que     *
'* sólo se borren aquellos ficheros con determinadas extensiones o     *
'* sólo aquellos que no tienen determinadas extensiones.               *
'*                                                                     *
'* Sintaxis                                                            *
'*                                                                     *
'* cscript [//nologo] borrar-ficheros-hasta-fecha.vbs [/R]             *
'* [/E:extensiones] [/X:extensiones] [/?] ruta fecha                   *
'*                                                                     *
'* Siendo                                                              *
'*                                                                     *
'* - ruta (Requerido):                                                 *
'*         Ruta de la carpeta en la que se borrarán los ficheros que   *
'*         en ella se ubiquen.                                         *
'*                                                                     *
'* - fecha (Requerido):                                                *
'*         Fecha en formato DD/MM/YYYY; todos los ficheros que tengan  *
'*         su fecha de última modificación igual o anterior a ésta,    *
'*         serán los borrados.                                         *
'*                                                                     *
'* - /R: borrado recursivo (Opcional):                                 *
'*         Si se pasa este modificador el borrado será recursivo (se   *
'*         borrarán todos los archivos contenidos en el árbol de       *
'*         carpetas cuya raíz es la pasada como parámetro).            *
'*                                                                     *
'* - /E: extensiones (Opcional):                                       *
'*         Lista de extensiones, separadas por comas, de los ficheros  *
'*         que se borrarán; todos los ficheros cuyas extensiones no    *
'*         estén incluidas en esta lista no serán borrados.            *
'*                                                                     *
'* - /X: extensiones (Opcional):                                       *
'*         Lista de extensiones, separadas por comas, de los ficheros  *
'*         que no se borrarán; todos los ficheros cuyas extensiones no *
'*         estén incluidas en esta lista serán borrados.               *
'*                                                                     *
'*                                                                     *
'* Ejemplos:                                                           *
'*                                                                     *
'* - Se borrarán todos los ficheros ubicados en la carpeta             *
'* "c:orcosdifuntos" que tengan como fecha de última modificación    *
'* una fecha igual o anterior a "20/02/2002":                          *
'*                                                                     *
'* cscript //nologo borrar-ficheros-hasta-fecha.vbs                    *
'* "c:orcosdifuntos" "20/02/2002"                                    *
'*                                                                     *
'* - Se borrarán todos los ficheros en el árbol de carpetas cuya raíz  *
'* es la carpeta "c:orcosdifuntos" que tengan como fecha de última   *
'* modificación una fecha igual o anterior a "20/02/2002":             *
'*                                                                     *
'* cscript //nologo borrar-ficheros-hasta-fecha.vbs /R                 *
'* "c:orcosdifuntos" "20/02/2002"                                    *
'*                                                                     *
'* - Se borrarán todos los ficheros en el árbol de carpetas cuya raíz  *
'* es la carpeta "c:orcosdifuntos" que tengan como fecha de última   *
'* modificación una fecha igual o anterior a "20/02/2002" y cuyas      *
'* extensiones sean wmv,asf,mpg:                                       *
'*                                                                     *
'* cscript //nologo borrar-ficheros-hasta-fecha.vbs /R /E:wmv,asf,mpg  *
'* "c:orcosdifuntos" "20/02/2002"                                    *
'*                                                                     *
'* - Se borrarán todos los ficheros en el árbol de carpetas cuya raíz  *
'* es la carpeta "c:orcosdifuntos" que tengan como fecha de última   *
'* modificación una fecha igual o anterior a "20/02/2002" y cuyas      *
'* extensiones no sean doc,txt,xls:                                    *
'*                                                                     *
'* cscript //nologo borrar-ficheros-hasta-fecha.vbs /R /X:doc,txt,xls  *
'* "c:orcosdifuntos" "20/02/2002"                                    *
'*                                                                     *
'*                                                                     *
'*                                                                     *
'* © Fernando Reyes                                                    *
'* Mayo De 2008                                                        *
'*°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°*
'*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*

'Exigimos la declaración de variables
Option Explicit


Dim str_Error 'As String
Dim int_Error 'As String
Dim str_Ruta 'As String
Dim dth_Fecha 'As Date
Dim bol_Recursivo 'As Boolean
Dim arr_Incluidas 'As String
Dim arr_Excluidas 'As String

bol_Recursivo = False


'Validando los argumentos y almacenando
'sus valores
If f_RevisarArgumentos( _
                       str_Error, _
                       int_Error) Then

    Call s_Ayuda(str_Error)
    WScript.Quit int_Error

End If

Call s_BorrarFicheros(str_Ruta,dth_Fecha,bol_Recursivo)

Sub s_BorrarFicheros(str_Ruta, dth_Fecha, bol_Recursivo)
'***********************************************************************
'* Procedimiento: s_BorrarFicheros                                     *
'* Tipo         : Función                                              *
'* Devolución   : Booleana                                             *
'* Fecha y Hora : 11/10/2007 11:52:27                                  *
'* Autor        : Fernando Reyes                                       *
'*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*
'* Propósito    : Este método borra los ficheros contenidos en la      *
'*                carpeta especificada por el parámetro str_Ruta,      *
'*                pero sólo borra aquellos cuya fecha de última        *
'*                modificación sea igual o anterior a la especificada  *
'*                por el parámetro dth_Fecha. Si el parámetro          *
'*                bol_Recursivo es pasado, el método realiza una       *
'*                llamada recursiva, lo que provoca que el borrado se  *
'*                produzca en todo el árbol de carpetas cuya raíz es   *
'*                la que especifica el parámetro str_Ruta. Si se ha    *
'*                pasado alguno de los parámetros de inclusión o       *
'*                exclusión de extensiones, el método borrará los      *
'*                ficheros de extensión las incluidas o de extensión   *
'*                diferente de las excluidas, según el caso.           *
'***********************************************************************

    Dim obj_FSO       'As Scripting.FileSystemObject
    Dim obj_Carpeta   'As Scripting.Folder
    Dim obj_Fichero   'As Scripting.File
    Dim bol_Borrar    'As Boolean

    'Creamos el objeto FileSystemObject
    Set obj_FSO = CreateObject("Scripting.FileSystemObject")

    'Comprobamos que la ruta recibida sea válida
    If not obj_FSO.FolderExists(str_Ruta) Then

        WScript.Echo "Error 8: La carpeta " & str_Ruta & _
                           " recibida como parámetro no existe."
        Set obj_FSO = Nothing
        WScript.Quit 2

    End If

    'Comprobamos que la fecha recibida sea válida
    If not IsDate(dth_Fecha) Then

        WScript.Echo "Error 16: La fecha " & dth_Fecha & _
                     " recibida como parámetro no es una fecha válida."
        Set obj_FSO = Nothing
        WScript.Quit 3

    End If

    'Obtenemos el objeto carpeta
    Set obj_Carpeta = obj_FSO.GetFolder(str_Ruta)

    'Recorremos los ficheros contenidos en la carpeta
    For Each obj_Fichero In obj_Carpeta.Files

        'Comprobamos que la fecha de última modificación del fichero
        'sea anterior o igual a la recibida como parámetro
        If DateValue(obj_Fichero.DateLastModified) <= _
                                        DateValue(dth_Fecha) Then

            'Ponemos a true la booleana que nos indica si el fichero
            'será o no borrado
            bol_Borrar = True
            
            'Si se ha pasado la lista de extensiones a borrar
            If WScript.Arguments.Named.Exists("E") Then
            
                'Ponemos la devolución de la función que mira si la
                'extensiópn está incluida en el array de extensiones
                'a borrar
                bol_Borrar = f_EstaExtension(arr_Incluidas, _
                              obj_FSO.GetExtensionName(obj_Fichero.Name))
                              
            ElseIf WScript.Arguments.Named.Exists("X") Then
            
                'Ponemos la inversa de la devolución de la función
                'que mira si la extensiópn está incluida en el
                'array de extensiones a no borrar; de esa manera,
                'si la extensión está en el array, bol_Borrar
                'quedará como False y el fichero no se borrará, y
                'en caso de no estar en el array, bol_Borrar
                'quedará como True y el fichero se borrará
                bol_Borrar = Not(f_EstaExtension(arr_Excluidas, _
                              obj_FSO.GetExtensionName(obj_Fichero.Name)))

            End If
                        
            'Vemos ahora si el fichero ha de ser borrado o no
            If bol_Borrar Then
                'En caso afirmativo, mostramos el nombre y fecha del fichero
                'y lo borramos
                WScript.Echo "Borrando " & obj_Fichero.Name & _
                             ": Modificado el " & _
                                    obj_Fichero.DateLastModified
                'Borramos el fichero incluso en el caso de ser de sistema, si
                'quisiéramos que  no se borren los de sistema, tan sólo
                'debemos eliminar el True o sustituirlo por False
                obj_Fichero.Delete True
                
            End If

        End If

    Next

    'Si queremos que se recorra todo el subárbol de carpetas...
    If bol_Recursivo Then

        'Definimos un objeto para las subcarpetas
        Dim obj_Subcarpeta

        'Recorremos las subcarpetas en este bucle
        For Each obj_Subcarpeta In obj_Carpeta.Subfolders

            'Llamada recursiva para borrar los ficheros de la
            'subcarpeta
            Call s_BorrarFicheros(obj_Subcarpeta.Path,dth_Fecha, _
                                         bol_Recursivo)

        Next

        Set obj_Subcarpeta = Nothing   

    End If

    'Nos limpiamos el culito antes de terminar :-))
    Set obj_Fichero = Nothing
    Set obj_Carpeta = Nothing
    Set obj_FSO = Nothing

End Sub 's_BorrarFicheros

Function f_EstaExtension(arr_Extensiones, str_Extension)
'***********************************************************************
'* Procedimiento: f_EstaExtension                                      *
'* Tipo         : Función                                              *
'* Devolución   : Booleana                                             *
'* Fecha y Hora : 11/10/2007 10:45:12                                  *
'* Autor        : Fernando Reyes                                       *
'*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*
'* Propósito    : Esta función recibe un array de extensiones de       *
'*                fichero y una extension de fichero, y comprueba si   *
'*                la extensión está contenida en el array,             *
'*                devolviendo en este caso True y en caso contrario    *
'*                False.                                               *
'***********************************************************************

    Dim bol_Esta      'As Boolean
    Dim int_Elemento  'As Integer
    
    'Marcamos la booleana como que no ha sido encontrado
    bol_Esta = False
    
    'Recorremos los elementos del array
    For int_Elemento = LBound(arr_Extensiones) To UBound(arr_extensiones)
    
        'Miramos si el elemento actual del array es igual al elemento
        'buscado
        If LCase(arr_Extensiones(int_Elemento)) = _
                            LCase(str_Extension) Then
                            
            'Como es igual, marcamos con la booleana que ha sido
            'encontrado y salimos del bucle For
            bol_Esta = True
            Exit For
            
        End If
    
    Next 'int_Elemento
    
    'Devolvemos la booleana con el valor que tenga
    f_EstaExtension = bol_Esta

End Function 'f_EstaExtension

Function f_RevisarArgumentos( _
                             str_Error, _
                             int_Error _
                             ) 'As Boolean
'***********************************************************************
'* Procedimiento: f_RevisarArgumentos                                  *
'* Tipo         : Función                                              *
'* Devolución   : Booleana                                             *
'* Fecha y Hora : 11/10/2007 10:35:09                                  *
'* Autor        : Fernando Reyes                                       *
'*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*
'* Propósito    : Esta función revisa los argumentos recibidos,        *
'*                recogiendo los posibles fallos por falta de          *
'*                argumentos requeridos y almacenando en las           *
'*                variables correspondientes los argumentos            *
'*                recibidos. recibe dos parámetros cuyo fin es ser de  *
'*                salida: una cadena que almacenará los errores        *
'*                detectados y un entero que almacenará el código de   *
'*                los errores detectados. Hay tres tipos de error;     *
'*                error 1 para los argumentos sin nombre requeridos y  *
'*                no encontrados, error 2 para los argumentos con      *
'*                nombre requeridos y no encontrados, por último,      *
'*                error 4 para los combos de argumentos opcionales     *
'*                (un combo de argumentos opcionales es aquel          *
'*                conjunto de argumentos opcionales que es requerido   *
'*                que se pase al menos uno de ellos y que si se pasa   *
'*                más de uno se ignorarán aquellos que estén detrás    *
'*                en la prioridad entre ellos; una característica      *
'*                clara de lo que es un combo de argumentos es cuando  *
'*                dos omás argumentos almacenan su valor en la misma   *
'*                variable). En el caso de producirse más de un tipo   *
'*                de error, el número de error será la suma de ambos   *
'*                de los errores recibidos, es decir 3, 5 o 6          *
'***********************************************************************

    Dim bol_Devolucion 'As Boolean
    Dim bol_Error1 'As Boolean
    Dim bol_Error2 'As Boolean
    Dim bol_Error4 'As Boolean

    'Iniciamos los indicadores
    bol_Devolucion = False
    bol_Error1 = False
    bol_Error2 = False
    bol_Error4 = False


    'Si hay que mostrar la ayuda, se muestra y
    'termina el script
    If WScript.Arguments.Named.Exists("?") Then

        Call s_Ayuda("******************" & vbCrLf & _
                     "*     AYUDA      *" & vbCrLf & _
                     "******************")

        WScript.Quit 0

    End If

    'Revisamos si están todos los argumentos
    'sin nombre requeridos
    If WScript.Arguments.Unnamed.Count < 2 Then

        str_Error = "Error 1, falta/n argumento/s sin " & _
                    "nombre requerido/s"
        bol_Error1 = True

    Else

    'Guardamos los argumentos en las variables
    'correspondientes
        If _
          WScript.Arguments.Unnamed.Count - 1 _
          >= 0 Then _
               str_Ruta = _
                       WScript.Arguments.Unnamed(0)

        If _
          WScript.Arguments.Unnamed.Count - 1 _
          >= 1 Then _
               dth_Fecha = _
                       WScript.Arguments.Unnamed(1)


    End If

    'Revisamos que esté el argumento
    '/R (borrado_recursivo)
    If WScript.Arguments.Named.Exists("R") Then

        bol_Recursivo = True

    End If

    'Revisamos que esté el argumento
    '/E (extensiones)
    If WScript.Arguments.Named.Exists("E") Then

        arr_Incluidas =  _
               Split(WScript.Arguments.Named("E"),",")

    'Revisamos que esté el argumento
    '/X (extensiones)
    Elseif WScript.Arguments.Named.Exists("X") Then

        arr_Excluidas =  _
               Split(WScript.Arguments.Named("X"),",")

    End If

    'Preparamos las variables de devolucion:
    'el entero como suma de los posibles errores 1, 2 y 4
    int_Error = Abs(bol_Error1) + _
                (2 * Abs(bol_Error2)) + _
                (4 * Abs(bol_Error4))
    'La devolucion de la función será True en caso de
    'haber alguno de los errores
    bol_Devolucion = (bol_Error1 Or bol_Error2 Or bol_Error4)

    'Hacemos la devolución de la función
    f_RevisarArgumentos = bol_Devolucion

End Function 'f_RevisarArgumentos

Sub s_Ayuda(str_Error)
'***********************************************************************
'* Procedimiento: s_Ayuda                                              *
'* Tipo         : Sub                                                  *
'* Devolución   :                                                      *
'* Fecha y Hora : 11/10/2007 11:57:55                                  *
'* Autor        : Fernando Reyes                                       *
'*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*
'* Propósito    : Este procedimiento muestra la ayuda en línea.        *
'*                Recibe un parámetro de tipo cadena que si viene      *
'*                será mostrado antes de la línea; pensado para que    *
'*                se muestre un error que se haya detectado.           *
'***********************************************************************

    'Si hay que mostrar algún texto previo a la ayuda, lo hacemos
    If Len(str_Error) > 0 Then

        WScript.Echo str_Error & vbCrLf & vbCrLf

    End If

    'A continuación, mostramos la ayuda por pantalla
    WScript.Echo "Basado en un script mío anterior, este script sir" & _
                 "ve para borrar ficheros cuya"
    WScript.Echo "fecha de última modificación sea igual o anterior" & _
                 " a una fecha pasada como"
    WScript.Echo "parámetro. Permite también que el borrado sea rec" & _
                 "ursivo (no sólo se borran los"
    WScript.Echo "ficheros de la carpeta pasada como parámetro, si " & _
                 "no tambien todos aquellos que"
    WScript.Echo "estén en el árbol cuya raíz es esa misma carpeta)" & _
                 ". Por último, permite"
    WScript.Echo "especificar que sólo se borren aquellos ficheros " & _
                 "con determinadas extensiones o"
    WScript.Echo "sólo aquellos que no tienen determinadas extensiones."
    WScript.Echo ""
    WScript.Echo "Sintaxis"
    WScript.Echo ""
    WScript.Echo "cscript [//nologo] borrar-ficheros-hasta-fecha.vb" & _
                 "s [/R] [/E:extensiones]"
    WScript.Echo "[/X:extensiones] [/?] ruta fecha"
    WScript.Echo ""
    WScript.Echo "Siendo"
    WScript.Echo ""
    WScript.Echo "- ruta (Requerido):"
    WScript.Echo "Ruta de la carpeta en la que se borrarán los fich" & _
                 "eros que en"
    WScript.Echo "ella se ubiquen."
    WScript.Echo ""
    WScript.Echo "- fecha (Requerido):"
    WScript.Echo "Fecha en formato DD/MM/YYYY; todos los ficheros q" & _
                 "ue tengan su"
    WScript.Echo "fecha de última modificación igual o anterior a é" & _
                 "sta, serán los"
    WScript.Echo "borrados."
    WScript.Echo ""
    WScript.Echo "- /R: borrado recursivo (Opcional):"
    WScript.Echo "Si se pasa este modificador el borrado será recur" & _
                 "sivo (se"
    WScript.Echo "borrarán todos los archivos contenidos en el árbo" & _
                 "l de carpetas"
    WScript.Echo "cuya raíz es la pasada como parámetro)."
    WScript.Echo ""
    WScript.Echo "- /E: extensiones (Opcional):"
    WScript.Echo "Lista de extensiones, separadas por comas, de los" & _
                 " ficheros que"
    WScript.Echo "se borrarán; todos los ficheros cuyas extensiones" & _
                 " no estén"
    WScript.Echo "incluidas en esta lista no serán borrados."
    WScript.Echo ""
    WScript.Echo "- /X: extensiones (Opcional):"
    WScript.Echo "Lista de extensiones, separadas por comas, de los" & _
                 " ficheros que"
    WScript.Echo "no se borrarán; todos los ficheros cuyas extensio" & _
                 "nes no estén"
    WScript.Echo "incluidas en esta lista serán borrados."
    WScript.Echo ""
    WScript.Echo ""
    WScript.Echo "Ejemplos:"
    WScript.Echo ""
    WScript.Echo "- Se borrarán todos los ficheros ubicados en la c" & _
                 "arpeta ""c:\orcosdifuntos"" que"
    WScript.Echo "tengan como fecha de última modificación una fech" & _
                 "a igual o anterior a"
    WScript.Echo """20/02/2002"":"
    WScript.Echo ""
    WScript.Echo "cscript //nologo borrar-ficheros-hasta-fecha.vbs " & _
                 """c:\orcosdifuntos"""
    WScript.Echo """20/02/2002"""
    WScript.Echo ""
    WScript.Echo "- Se borrarán todos los ficheros en el árbol de c" & _
                 "arpetas cuya raíz es la"
    WScript.Echo "carpeta ""c:\orcosdifuntos"" que tengan como fec" & _
                 "ha de última modificación una"
    WScript.Echo "fecha igual o anterior a ""20/02/2002"":"
    WScript.Echo ""
    WScript.Echo "cscript //nologo borrar-ficheros-hasta-fecha.vbs " & _
                 "/R ""c:\orcosdifuntos"""
    WScript.Echo """20/02/2002"""
    WScript.Echo ""
    WScript.Echo "- Se borrarán todos los ficheros en el árbol de c" & _
                 "arpetas cuya raíz es la"
    WScript.Echo "carpeta ""c:\orcosdifuntos"" que tengan como fec" & _
                 "ha de última modificación una"
    WScript.Echo "fecha igual o anterior a ""20/02/2002"" y cuyas e" & _
                 "xtensiones sean wmv,asf,mpg:"
    WScript.Echo ""
    WScript.Echo "cscript //nologo borrar-ficheros-hasta-fecha.vbs " & _
                 "/R /E:wmv,asf,mpg"
    WScript.Echo """c:\orcosdifuntos"" ""20/02/2002"""
    WScript.Echo ""
    WScript.Echo "- Se borrarán todos los ficheros en el árbol de c" & _
                 "arpetas cuya raíz es la"
    WScript.Echo "carpeta ""c:\orcosdifuntos"" que tengan como fec" & _
                 "ha de última modificación una"
    WScript.Echo "fecha igual o anterior a ""20/02/2002"" y cuyas e" & _
                 "xtensiones no sean doc,txt,xls:"
    WScript.Echo ""
    WScript.Echo "cscript //nologo borrar-ficheros-hasta-fecha.vbs " & _
                 "/R /X:doc,txt,xls"
    WScript.Echo """c:\orcosdifuntos"" ""20/02/2002"""
    WScript.Echo ""
    WScript.Echo ""
    WScript.Echo ""

End Sub 's_Ayuda

 

 

10 comentarios to “Script VBScript Para Borrar Ficheros Viejos (2)”

  1. cristian said

    El trabajo que hicieste esta muy bueno, pero a mi me ayudaria saber como puedo hacer para borrar los archivos viejos de mas de 60 dias a LA FECHA.
    ES DECIR QUE LA FECHA IRIA CAMBIANDO CON EL PASO DE LOS DIAS, Y LO QUIERO HACER DE FORMA AUTOMATICA.
    No se me ocurre como restar dias automaticamente en un BAT que es el que llama a este script

  2. For a long time I here was not.

  3. Shyama Deo said

    I never in a million years would have had the idea to look
    at things like that. This is going to make my afternoon so much easier.

  4. This design is incredible! You obviously
    know how to keep a reader entertained. Between your wit and
    your videos, I was almost moved to start my own blog (well,
    almost…HaHa!) Wonderful job. I really enjoyed what you had to say, and more than that, how
    you presented it. Too cool!

  5. Everything is very open with a really clear description of the issues.
    It was definitely informative. Your site is useful.
    Many thanks for sharing!

  6. I feel this is one of the such a lot important info for me.
    And i am satisfied studying your article. But want to observation on few normal issues, The website style is wonderful,
    the articles is in reality nice : D. Just right job,
    cheers

  7. This is the right site for anybody who would like to find out about this topic.
    You realize so much its almost tough to argue with you (not that I actually will
    need to…HaHa). You certainly put a new spin on a subject
    that has been discussed for decades. Great stuff, just excellent!

  8. Alexander Sierra said

    Hola Gualtrysoft:

    Te felicito por tan excelente trabajo. Lo he probado tal como lo indicas y funciona perfectamente, pero quisiera pedirte si es posible que me indiques como crear un .bat con las instrucciones que se deben introducir por linea de comandos, con el fin de poder ejecutar el .bat a traves del llamado de una programacion de tarea de windows, y que al ejecutarse el .bat le pase los parametros requeridos para que se ejecute tu script, o en su defecto modificarlo para que no sea necesario usar la linea de comando sino establecer los parametros de ruta y fecha directamente en el mismo script, y asi de esta forma puedo programarlo para que se ejecute en determinada programacion… No se si me hice entender…

    La verdad es que ya le he cacharriado bastante a modificarlo pero no me funciona. Te agradeceria muchisimo tu ayuda al respecto, ya que este script me es muy util para realizar borrado de ficheros los fines de semana en el servidor.

    Saludos.

  9. Armand said

    Hello, the whole thing is going nicely here and ofcourse every one is
    sharing information, that’s genuinely fine, keep up writing.

  10. modern Furniture rahway nj

    Script VBScript Para Borrar Ficheros Viejos (2) « El Blog de Gualtrysoft

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: