[Batch] Ejemplos:Listar archivos (por fecha de modificación,tamaño,etc)

Iniciado por Eleкtro, 25 Abril 2012, 16:28 PM

0 Miembros y 1 Visitante están viendo este tema.

Eleкtro

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 (dos) [Seleccionar]
@Echo OFF
Setlocal enabledelayedexpansion

:: By Elektro H@cker
::
:: Copy the Newest file in a folder greater than X bytes to a destination directory.
:: You maybe want to modify these variables:
::
Set "Source=%CD%"
Set "Destination=C:\Test\"
Set "Size=1024"
:: :: :: :: :: :: :: :: ::

for /F "tokens=1-4 delims=;" %%a in ('forfiles /P "%SOURCE%" /C "cmd /c echo @fdate;@ftime;@fsize;@path"') do (
If %%c GTR %SIZE% (
Set "DAY=%%a"  && Set "DAY=!DAY:/=!"
Set "HOUR=%%b" && Set "HOUR=!HOUR::=!"
Echo !DAY!!HOUR!;%%d >> "NewestFile.txt"
)
)

for /F "tokens=2 delims=;" %%# in ('Type "%TEMP%\NewestFile.txt" ^| Sort /R') do (
Copy /Y %%# "%DESTINATION%" 1>NUL
Del /Q "%TEMP%\NewestFile.txt"
Exit
)



EDITO: Más ejemplos

Código (dos) [Seleccionar]
@Echo OFF

:: By Elektro H@cker
::
Set "Origen=%CD%"
:: :: :: :: :: :: :: :: ::

PUSHD "%ORIGEN%"

:: Lista los archivos por últime fecha de modificación.
(For /R %%@ in (*) do (Echo %%~t@ %%~z@ %%@))>"%TEMP%\Fecha.txt"

:: Ordena los archivos por última fecha de modificación (El más reciente primero).
Type "%TEMP%\Fecha.txt" | Sort /R
Pause & Exit


Código (dos) [Seleccionar]
@Echo OFF

:: By Elektro H@cker
::
Set "Origen=%CD%"
:: :: :: :: :: :: :: :: ::
PUSHD "%ORIGEN%"

:: Lista los archivos por tamaño.
(For /R %%@ in (*) do (Echo %%~z@ %%@))>"%TEMP%\tama¤o.txt"

:: Muestra la lista.
Type "%TEMP%\tama¤o.txt"
Pause & Exit



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.








-- KiLiaN --

(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.

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

PD: iva a hacer tu reto...pero ya lo hicistes tu..xD
Entren al chat de elhacker.net
    
   

@kln13

Eleкtro

#2
Cita de: -- KiLiaN -- en 26 Abril 2012, 13:49 PM
(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!








-- KiLiaN --

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
Entren al chat de elhacker.net
    
   

@kln13