2012-06-26 26 views
9

Estoy buscando un comando de shell cmd en Windows XP, como "dir/b/s" que incluye valores de fecha y hora para cada archivo en el resultado. Todos los datos (ruta, nombre del archivo y fecha/hora) deben estar en una línea. ¿Alguien puede proporcionar un comando para lograr esto? Gracias.cmd dir/b/s más la fecha

Respuesta

1

No hay forma directa de hacerlo con DIR. Debería escribir un contenedor que eliminó los detalles extraños de un DIR/s

Puede usar powershell, vbscript o javascript para hacerlo.

Aquí hay una respuesta relacionada usando PowerShell: How to retrieve a recursive directory and file list from PowerShell excluding some files and folders? aunque necesitaría enmendar esto para agregar la fecha/hora.

ACTUALIZACIÓN: Aquí está un sitio MAD que muestra un paseo directorio recursivo en cargas de diferentes idiomas: http://rosettacode.org/wiki/Walk_a_directory/Recursively

12

Si desea archivos sólo

for /r %F in (*) do @echo %~tF %F 

Si usted quiere que ambos archivos y directorios a continuación, utilizar el comando DIR con FOR/F

for /f "eol=: delims=" %F in ('dir /b /s') do @echo %~tF %F 

Si se utiliza en un archivo por lotes a continuación %F y %~tF mus t cambie a %%F y %%~tF.

+0

Esto cumple con mis necesidades perfectamente. Gracias. – user1483922

+2

@ user1483922 - Cuando obtiene una respuesta que se adapta perfectamente a sus necesidades, debe aceptarla haciendo clic en la marca de verificación que se encuentra cerca de la esquina superior izquierda de la respuesta. Aceptar una respuesta permite a los demás saber que la pregunta ha sido respondida, le otorga 2 puntos por tomarse el tiempo para aceptar la respuesta, y otorga a la persona que publicó la respuesta 15 puntos. – dbenham

0

¿Qué tal algo como esto:

for /f "tokens=*" %a in ('dir *.* /a:d /b /s') do for /f "skip=5 tokens=1,2,3,4*" %b in ('dir *.* /a:-d') do @if %e neq bytes @echo %a\%e%f %b %c 

Simples, a pesar de que puede haber complicado un poco :-)

Cuestiones relacionadas