Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: TMarmol en 5 Febrero 2013, 23:09 pm



Título: Cambiar el nombre por la fecha de cracion [Batch] [Ayuda]
Publicado por: TMarmol en 5 Febrero 2013, 23:09 pm
¿Como puedo fijar la fecha de creación de una archivo como el nombre de este?

Supongamos que tengo una carpeta en "C:\test" y que una vez al día, se incluyen varios archivos a esta carpeta con diversos nombres.
Como se podría hacer para que con un programa en batch se renombren todos esos archivos con su fecha de creación correspondiente, no hace falta que sea automático.

Los archivos tienen diversas extensiones.


Título: Re: Cambiar el nombre por la fecha de cracion [Batch] [Ayuda]
Publicado por: xassiz~ en 6 Febrero 2013, 00:05 am
Puedes emplear los modificadores de los parámetros, pasándole el propio archivo a renombrar.

Código
  1. @ren "%1" "%~t1"

Creo que para la fecha de creación era "t", no recuerdo bien; ahora ando en Linux y no puedo testear.

Saludos!


Título: Re: Cambiar el nombre por la fecha de cracion [Batch] [Ayuda]
Publicado por: Eleкtro en 6 Febrero 2013, 00:29 am
@xassiz
No, ese modificador es para la fecha de modificación.

@Tmarmol
Los temas de Batch van en Scripting.

Aquí tienes:
Código:
@Echo OFF

:: By Elektro H@cker

FOR /F "Tokens=1-3* Delims= " %%a IN ('Dir /A-D /T:C "*.*" ^| Findstr "../../...."  ^| Find /V "%~nx0"') DO (
Echo [+] "%%d"
Set "Date=%%a"
Call Set "Date=%%Date:/=-%%"
(Call Ren "%%~fd" "%%Date%% %%~nxd") || (
Echo [-] Error renaming file "%%d"
Pause&Exit /B 1
  )
)

Pause&Exit /B 0

Saludos.


Título: Re: Cambiar el nombre por la fecha de cracion [Batch] [Ayuda]
Publicado por: xassiz~ en 6 Febrero 2013, 00:39 am
@xassiz
No, ese modificador es para la fecha de modificación.
Nunca está de más recordarlo, a lo mejor hace casi 2 años que "no toco" Windows :xD


Título: Re: Cambiar el nombre por la fecha de cracion [Batch] [Ayuda]
Publicado por: TMarmol en 6 Febrero 2013, 18:01 pm
@xassiz
No, ese modificador es para la fecha de modificación.

@Tmarmol
Los temas de Batch van en Scripting.

Aquí tienes:
Código:
@Echo OFF

:: By Elektro H@cker

FOR /F "Tokens=1-3* Delims= " %%a IN ('Dir /A-D /T:C "*.*" ^| Findstr "../../...."  ^| Find /V "%~nx0"') DO (
Echo [+] "%%d"
Set "Date=%%a"
Call Set "Date=%%Date:/=-%%"
(Call Ren "%%~fd" "%%Date%% %%~nxd") || (
Echo [-] Error renaming file "%%d"
Pause&Exit /B 1
  )
)

Pause&Exit /B 0

Saludos.
Gracias!, me funcionó a la primera.
A cosas tan avanzadas como el uso de "tokens" y demás no llego