it-swarm-es.com

¿Línea de comandos / archivo por lotes para enumerar todos los archivos JAR?

Quiero enumerar todos los archivos JAR en subdirectorios de una ruta específica, en una computadora con Windows, junto con el tamaño y la hora del archivo.

dir /s me da demasiada información. dir /s *.jar tipo de hace lo que quiero, pero me da un montón de información por directorio al que no me importa. dir /b/s *.jar es breve, pero no me da tiempo ni me importa.

¿Hay algún comando que simplemente listará los archivos JAR + Filessize/Hora?

6
Jason S

podrías hacer esto:

for /r %i in (*.jar) do echo  %~ti %~zi %i 

que se iterarán sobre todos los dirs (incluido el actual) y Echos Out the *.jar nombres. También se hará eco del comando echo, por lo que es posible que desee canalizar la salida en un archivo:

for /r %i in (*.jar) do echo %~ti %~zi %i >> myJars.txt

o ponlo en un murciélago:

@echo off
for /r %%i in (*.jar) do echo %%~ti %%~zi %%i

tenga en cuenta el doble % 's en el .bat versión.

8
akf

Esta línea de comandos funciona:

dir /s *.jar | find "jar"

Tube la salida de "Dir" en el comando "Buscar" para filtrarlo, filtrando líneas que no contengan "JAR" como las líneas con "directorio".

Sin embargo, es solo 99.9% a prueba de balas. Si una carpeta contiene "JAR" en su nombre y esta carpeta contiene un archivo de jar, entonces necesita filtrar eso:

dir /s *.jar | find "jar" | find /V "Directory of"

"/ V" significa que todas las líneas que no contengan "directorio" se imprimirán en la pantalla.

1
Peter Mortensen

Si no hay ninguna razón particular para usar la línea de comandos (como una necesidad de script de lotes)
Simplemente podría usar el Explorer, Búsqueda para enumerar *.jar Archivos de la carpeta base.
Obtendrá el tamaño y Fecha Información y La lista se puede ordenar de unas cuantas maneras.

Esta será una solución de GUI.
Siempre me pregunté por qué Windows no me permite :exportar dicho resultado de búsqueda a CSV/XLS/TXT.
Todo ese trabajo duro de tamizar a través de las carpetas se desperdicia; no se puede post-procesar la salida.
¿Alguien tiene ideas sobre una exportación de este tipo?

0
nik

El más cercano pude llegar a lo que necesitabas fue

dir/p/s * .jar
0
Isxek

Excluyendo caminos:

for /r c:\your\path %i in (*.jar) do @echo %~nxi %~zi %~ti

Incluyendo caminos:

for /r c:\your\path %i in (*.jar) do @echo %~i %~zi %~ti
0
agtb