Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Eleкtro en 25 Abril 2012, 16:28 pm



Título: [Batch] Ejemplos:Listar archivos (por fecha de modificación,tamaño,etc)
Publicado por: Eleкtro en 25 Abril 2012, 16:28 pm
Bueno hice este code para ayudar a un usuario en otra web, Este tema se ha tocado unas cuantas veces así que aquí dejo el code para que usen el buscador y les salga mi respuesta :).

Código
  1. @Echo OFF
  2. Setlocal enabledelayedexpansion
  3.  
  4. :: By Elektro H@cker
  5. ::
  6. :: Copy the Newest file in a folder greater than X bytes to a destination directory.
  7. :: You maybe want to modify these variables:
  8. ::
  9. Set "Source=%CD%"
  10. Set "Destination=C:\Test\"
  11. Set "Size=1024"
  12. :: :: :: :: :: :: :: :: ::
  13.  
  14. for /F "tokens=1-4 delims=;" %%a in ('forfiles /P "%SOURCE%" /C "cmd /c echo @fdate;@ftime;@fsize;@path"') do (
  15. If %%c GTR %SIZE% (
  16. Set "DAY=%%a"  && Set "DAY=!DAY:/=!"
  17. Set "HOUR=%%b" && Set "HOUR=!HOUR::=!"
  18. Echo !DAY!!HOUR!;%%d >> "NewestFile.txt"
  19. )
  20. )
  21.  
  22. for /F "tokens=2 delims=;" %%# in ('Type "%TEMP%\NewestFile.txt" ^| Sort /R') do (
  23. Copy /Y %%# "%DESTINATION%" 1>NUL
  24. Del /Q "%TEMP%\NewestFile.txt"
  25. )


EDITO: Más ejemplos

Código
  1. @Echo OFF
  2.  
  3. :: By Elektro H@cker
  4. ::
  5. Set "Origen=%CD%"
  6. :: :: :: :: :: :: :: :: ::
  7.  
  8. PUSHD "%ORIGEN%"
  9.  
  10. :: Lista los archivos por últime fecha de modificación.
  11. (For /R %%@ in (*) do (Echo %%~t@ %%~z@ %%@))>"%TEMP%\Fecha.txt"
  12.  
  13. :: Ordena los archivos por última fecha de modificación (El más reciente primero).
  14. Type "%TEMP%\Fecha.txt" | Sort /R

Código
  1. @Echo OFF
  2.  
  3. :: By Elektro H@cker
  4. ::
  5. Set "Origen=%CD%"
  6. :: :: :: :: :: :: :: :: ::
  7. PUSHD "%ORIGEN%"
  8.  
  9. :: Lista los archivos por tamaño.
  10. (For /R %%@ in (*) do (Echo %%~z@ %%@))>"%TEMP%\tama¤o.txt"
  11.  
  12. :: Muestra la lista.
  13. Type "%TEMP%\tama¤o.txt"


PD: Espero que les sirva. También se puede hacer con FOR /R y/o WMIC.

PD2: No se si añadiré más ejemplos, Ya está casi todo hecho, usen el buscador!

Salu2.


Título: Re: [Batch] Ejemplos:Listar archivos (por fecha de modificación,tamaño,etc)
Publicado por: -- KiLiaN -- en 26 Abril 2012, 13:49 pm
Código:
(For /R %%@ in (*) do (Echo %%~t@ %%~z@ %%@))>"%TEMP%\Fecha.txt"

En este codigo creo que se te paso un >, si no cada vez que hace el for crea el archivo de nuevo y lo borra.

Código:
(For /R %%@ in (*) do (Echo %%~t@ %%~z@ %%@))>>"%TEMP%\Fecha.txt"

PD: iva a hacer tu reto...pero ya lo hicistes tu..xD


Título: Re: [Batch] Ejemplos:Listar archivos (por fecha de modificación,tamaño,etc)
Publicado por: Eleкtro en 26 Abril 2012, 14:21 pm
Código:
(For /R %%@ in (*) do (Echo %%~t@ %%~z@ %%@))>"%TEMP%\Fecha.txt"

En este codigo creo que se te paso un >, si no cada vez que hace el for crea el archivo de nuevo y lo borra.

El código está bien, No falta nada, Prueba las cosas antes de...   :P

EDITO: Si no lo hubiera cerrado con parentesis si que sería necesario usar "  >> "

Saludos!


Título: Re: [Batch] Ejemplos:Listar archivos (por fecha de modificación,tamaño,etc)
Publicado por: -- KiLiaN -- en 26 Abril 2012, 16:03 pm
Tienes razón debería haberlo probado antes, solo lo mire y ademas estaba en ubuntu y no tenia ganas de cambiarme..entono el "mea culpa" xD aunque dije.."creo" xD