linha de comando / arquivo em lotes para listar todos os arquivos jar?

4

Eu quero listar todos os arquivos jar em subdiretórios de um caminho especificado, em um computador Windows, juntamente com o tamanho do arquivo & vezes.

dir /s me dá muita informação. dir /s *.jar meio que faz o que eu quero, mas me dá um monte de informações por diretório que eu não me importo. dir /b/s *.jar é breve, mas não me dá tempo nem tamanho de arquivo.

Existe um comando que listará apenas os arquivos jar + tamanho do arquivo / hora?

    
por Jason S 29.07.2009 / 20:41

5 respostas

7

você pode fazer isso:

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

, o qual itera todos os dirs (incluindo o atual) e ecoa os nomes *.jar . Ele também irá ecoar o comando echo , então você pode querer enviar a saída para um arquivo:

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

ou coloque em um morcego:

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

observe o dobro do % na versão .bat .

    
por 29.07.2009 / 21:02
0

O mais perto que consegui foi do que você precisava era

dir /p /s *.jar
Fornece os locais dos diretórios dos arquivos, seu tamanho e sua data / registro de data e hora.     
por 29.07.2009 / 20:49
0

Excluindo caminhos:

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

Incluindo caminhos:

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

Se não houver nenhum motivo específico para usar a linha de comando (como uma necessidade de script em lotes)
Você poderia apenas usar o Explorer , Pesquisar para listar os arquivos *.jar da pasta base.
Você obterá as informações tamanho e data e a lista poderá ser classificada de algumas maneiras.

Esta será uma solução de GUI.
Sempre me perguntei por que o Windows não permite que eu exporte esse resultado de pesquisa para CSV / XLS / TXT .
Todo esse trabalho duro de peneirar as pastas é um desperdício; não pode pós-processar a saída.
Alguém tem idéias sobre uma exportação para o arquivo?

    
por 30.07.2009 / 07:14
0

Esta linha de comando funciona:

dir /s *.jar | find "jar"

Ele canaliza a saída de "dir" para o comando "find" para filtrá-lo - filtrando as linhas que não contêm "jar" como as linhas com "Directory".

No entanto, é apenas 99,9% à prova de balas. Se uma pasta contiver "jar" em seu nome E esta pasta contém um arquivo jar então você precisa filtrar:

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

"/ V" significa que todas as linhas que NÃO contenham "Diretório de" ser impresso na tela.

    
por 30.07.2009 / 00:10

Tags