none
Ayuda con Script de limpieza RRS feed

  • Pregunta

  • Muy buenas!

    Necesito hacer un Script con PowerShell que vaya recorriendo una serie de carpetas, estas carpetas contienen ficheros con el siguiente formato: xxxxxx_BCK_A.txt. Donde xxxxxx es una fecha por ejemplo (161230_BCK_A).

    Por ejemplo:

    • En la "carpeta A" hay los siguientes ficheros: xxxxxx_BCK_A.txt, xxxxxx_BCK_A.txt, xxxxxx_BCK_A.txt
    • En la "carpeta B" hay los siguientes ficheros: xxxxxx_BCK_B.txt, xxxxxx_BCK_B.txt, xxxxxx_BCK_B.txt
    • En la "carpeta C" hay los siguientes ficheros: xxxxxx_BCK_C.txt, xxxxxx_BCK_C.txt, xxxxxx_BCK_C.txt

    Lo que necesito es que en cada carpeta solamente me deje los dos últimos ficheros que se han añadido. Por lo que debería ir recorriendo las carpetas mirar cuantos ficheros hay y dejar solamente dos y eliminar los demás. No se muy bien como puedo hacer esto..

    Todas estas carpetas se encuentran dentro de la siguiente ruta: C:\Users\Desktop\Scripts\Archivos.

    Muchas Gracias!


    • Editado _stevz viernes, 30 de diciembre de 2016 9:57
    viernes, 30 de diciembre de 2016 9:49

Respuestas

  • En PowerShell no se decirte, pero en CMD puedes hacer pruebas con algo así con for, si no encuentras nada mejor:

    @echo off

    cd /d  C:\Users\Desktop\Scripts\Archivos

    for /r /d %%I in (*) do (

    for /f "skip=2 tokens=*" %%j in ('dir /o:-d /a:-d /b %%I') do (

    erase %%I\%%j
     )
    )

    Prueba en alguna carpeta temporal y adáptalo.

    • Marcado como respuesta _stevz martes, 10 de enero de 2017 9:51
    sábado, 31 de diciembre de 2016 10:14

Todas las respuestas

  • En PowerShell no se decirte, pero en CMD puedes hacer pruebas con algo así con for, si no encuentras nada mejor:

    @echo off

    cd /d  C:\Users\Desktop\Scripts\Archivos

    for /r /d %%I in (*) do (

    for /f "skip=2 tokens=*" %%j in ('dir /o:-d /a:-d /b %%I') do (

    erase %%I\%%j
     )
    )

    Prueba en alguna carpeta temporal y adáptalo.

    • Marcado como respuesta _stevz martes, 10 de enero de 2017 9:51
    sábado, 31 de diciembre de 2016 10:14
  • Muchas gracias, al final ya he conseguido hacerlo.
    martes, 10 de enero de 2017 9:54