elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [VBS] Borrar ficheros de un directorio y dejar solamente el último creado.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [VBS] Borrar ficheros de un directorio y dejar solamente el último creado.  (Leído 4,304 veces)
Sanzman

Desconectado Desconectado

Mensajes: 2


Ver Perfil
[VBS] Borrar ficheros de un directorio y dejar solamente el último creado.
« en: 27 Mayo 2013, 12:09 pm »

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
  1. Option Explicit
  2. Dim strFolder
  3. Dim objFolder
  4. Dim colFiles
  5. Dim objFile
  6.  
  7. Const FOR_READING = 1
  8. strFolder = "C:\Temporal"
  9. Set objFSO = CreateObject("Scripting.FileSystemObject")
  10. Set objFolder = objFSO.GetFolder(strFolder)
  11. Set colFiles = objFolder.Files
  12. For Each objFile In colFiles
  13. If DateDiff("D", objFile.DateLastModified, Now) > 1 Then objFile.Delete 'Esta linea
  14. 'indica que borre solo los archivos con mas de 1 día de antiguedad
  15. 'objFile.Delete Con esto lo borramos todo
  16. 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.


« Última modificación: 27 Mayo 2013, 16:34 pm por EleKtro H@cker » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.818



Ver Perfil
Re: [VBS] Borrar ficheros de un directorio y dejar solamente el último creado.
« Respuesta #1 en: 27 Mayo 2013, 16:47 pm »

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

Si la enumeración es como indicas entonces puedes hacerlo de la siguiente manera sin peligro:

Código
  1. @Echo OFF
  2. For /F "Tokens=*" %%# in ('Dir /B "*.csv" ^| Sort /R') Do (
  3. For /F "Tokens=*" %%@ in ('Dir /B "*.csv" ^| FIND /V "%%#"') Do (Del /Q "%%@")
  4. )

El código sirve si la enumeración es del siguiente tipo:
Código:
csv001
csv002
csv100

No sirve si la enumeración es de este tipo:
Código:
csv1
csv2
csv100

Saludos


En línea

Sanzman

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: [VBS] Borrar ficheros de un directorio y dejar solamente el último creado.
« Respuesta #2 en: 28 Mayo 2013, 08:50 am »

Ya lo he solucionado ;)
Gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Obtener el id del ultimo directorio creado
Programación Visual Basic
WHK 3 2,893 Último mensaje 14 Octubre 2009, 01:38 am
por seba123neo
Abrir último fichero modificado de un directorio
GNU/Linux
TheMaker 3 6,888 Último mensaje 30 Julio 2010, 23:43 pm
por [u]nsigned
algún sistema de ficheros que soporte en un directorio 4294967294 directorios?
GNU/Linux
kinos 7 4,018 Último mensaje 16 Agosto 2010, 14:12 pm
por kinos
Hacer referencia al último archivo modificado en un directorio
Scripting
TheMaker 2 5,633 Último mensaje 4 Octubre 2010, 16:39 pm
por orvtech
selecionar el ultimo id creado en otra query
Bases de Datos
gAb1 4 3,321 Último mensaje 30 Agosto 2013, 03:16 am
por gAb1
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines