Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Sanzman

#1
Muy buenas!!!!

Tengo un problemilla y no sé como solucionarlo. Resulta que mediante FTP me descarga el contenido de un directorio en un servidor y lo copio localmente a otra carpeta. Acto seguido me gustaría que eliminara todos los archivos excepto el último creado. En el servidor ftp cada archivo fue creado en días diferentes pero al copiarlo a  mi pc los archivos aparecen con la misma fecha de creación, por lo que el código que uso no me vale:

Código (vb) [Seleccionar]
Option Explicit
Dim strFolder
Dim objFolder
Dim colFiles
Dim objFile

Const FOR_READING = 1
strFolder = "C:\Temporal"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strFolder)
Set colFiles = objFolder.Files
For Each objFile In colFiles
If DateDiff("D", objFile.DateLastModified, Now) > 1 Then objFile.Delete 'Esta linea
'indica que borre solo los archivos con mas de 1 día de antiguedad
'objFile.Delete Con esto lo borramos todo
Next


Como veis no borraría ninguno porque todos han sido creados el mismo día. Entonces como alternativa, como los archivos los va creando en el siguiente orden:

CText001.csv
CText002.csv
CText003.csv....

Me gustaría hacer un bucle que recorriera los nombres y borraras excepto el que tenga el valor más alto, en este caso el CText003.csv

O sí mediante un bat en vez copiar todo el directorio copiar sólo el último archivo creado. Espero que podáis ayudarme o darme alguna idea.

Gracias





[MOD]: Usa el botón de insertar código.