
Necesito eliminar archivos que tengan más de dos días dentro de una carpeta, excepto los archivos modificados por última vez el día 1 de cada mes. Forfiles no admite excepciones. El sistema operativo es Windows Server 2003. ¿Alguna idea?
¡Gracias a todos por la ayuda!
Respuesta1
VBScript rápido y sucio aquí, asume el formato de fecha del Reino Unido para enumerar si el archivo es del día 1 del mes. Si usa un formato de fecha diferente, cambie el comando de recorte para tomar las posiciones numéricas apropiadas. Por ejemplo, una fecha de EE. UU. sería Mid(objFile.DateLastModified, 4, 2) = 01 en lugar de Left(objFile.DateLastModified, 2) = 01.
De todos modos, perdón por el código sucio... pero debería ayudarte a empezar.
strFolder = "C:\DeleteTest"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolder)
Set colFiles = objFolder.Files
strDaysOld = 2
'Get files from target folder
For Each File in colFiles
set objFile = objFSO.GetFile(strFolder & "\" & File.Name)
'Enumerate last modified date/time and delete if older than 2 days but where the date doesn't start with '01'
If objFile.DateLastModified < (Date() - strDaysOld) AND NOT Left(objFile.DateLastModified, 2) = 01 Then
objFSO.DeleteFile objFile, true
End If
Next
Respuesta2
Yo diría que eso dependería de su familiaridad y comodidad con los lenguajes de programación/scripting.
Por ejemplo, aquí hay un PowerShellejemplo. Soy un poco más partidario de las variedades Python, Perl (las *nix/Linux) y algo así sería bastante fácil en Python (ejemplo).
Ambos ejemplos provienen de buscar en Google.powershell eliminar archivos anteriores aoPython elimina archivos anteriores a...en caso de que quisieras buscar alternativas.
No estoy familiarizado con ninguna herramienta GUI o herramienta de configuración rápida para hacerlo, ya que nunca las he necesitado. En la mayoría de los casos, todo lo que pide se puede codificar en menos de 20 líneas.