Batch-Satti
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Batch-Satti

Você não está conectado. Conecte-se ou registre-se

Ajuda - Bat para listar conteúdo de pasta

3 participantes

Ir para baixo  Mensagem [Página 1 de 1]

Abiatar



Boa tarde galera!
Preciso de ajuda, se alguma alma caridosa puder me dar uma luz, agradeço!
Preciso de uma bat que me informe quantos arquivos tem dentro de uma pasta de cada extensão diferente e que me de a somatoria do tamanho dos arquivos por extensão, ex:
10 arquivos txt 235.088 bytes
05 arquivos jpg 350.000 bytes
Muito obrigado pessoal!

Boss-Head

Boss-Head

dá uma vasculhada no forum eu creio que já tem algo assim aqui...

Abiatar



Boss-Head escreveu:dá uma vasculhada no forum eu creio que já tem algo assim aqui...

Obrigado por responder, eu procurei cara e bastante, mas não to conseguindo encontrar, mesmo assim obrigado:roll:

rjjj

rjjj

Escrevi o código para você [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]:


Código:

@ECHO OFF
TITLE Pasta - Detalhes
SETLOCAL ENABLEDELAYEDEXPANSION
SET Pasta=Exemplo
SET Numero=0
FOR /F "TOKENS=*" %%x IN ('DIR /B "!Pasta!"') DO (
    SET Final=%%x
    IF !Numero! EQU 0 (
        CALL :DefinirExtensao "%CD%\!Pasta!\%%x"
    ) ELSE (
        SET /A Loop=!Numero! - 1
        SET Analisada=0
        FOR /L %%y IN (0,1,!Loop!) DO (
            IF "!Extensao[%%y]!" == "!Final:~-3!" (
                SET /A Quantidade[%%y]+=1
                SET Analisada=1
                CALL :SomarTamanho "%CD%\!Pasta!\%%x" %%y
            )
        )
        IF !Analisada! EQU 0 (
            CALL :DefinirExtensao "%CD%\!Pasta!\%%x"
        )
    )
)
SET /A Loop=!Numero! - 1
FOR /L %%x IN (0,1,!Loop!) DO (
    ECHO ExtensÆo: !Extensao[%%x]!  ^|  Arquivos: !Quantidade[%%x]!  ^|  Somat¢rio: !Somatorio[%%x]!B
)
ENDLOCAL
PAUSE > NUL
EXIT



:DefinirExtensao
SET Somatorio[!Numero!]=0
SET Extensao[!Numero!]=!Final:~-3!
SET Quantidade[!Numero!]=1
CALL :SomarTamanho %1 !Numero!
SET /A Numero+=1
GOTO :EOF



:SomarTamanho
SET /A Somatorio[%2]+=%~Z1
GOTO :EOF


A variável Pasta armazena o nome da pasta a ter informações de seu conteúdo mostradas.



Espero ter ajudado [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem].

Pssn gosta desta mensagem

Abiatar



rjjj escreveu:Escrevi o código para você [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]:


Código:

@ECHO OFF
TITLE Pasta - Detalhes
SETLOCAL ENABLEDELAYEDEXPANSION
SET Pasta=Exemplo
SET Numero=0
FOR /F "TOKENS=*" %%x IN ('DIR /B "!Pasta!"') DO (
    SET Final=%%x
    IF !Numero! EQU 0 (
        CALL :DefinirExtensao "%CD%\!Pasta!\%%x"
    ) ELSE (
        SET /A Loop=!Numero! - 1
        SET Analisada=0
        FOR /L %%y IN (0,1,!Loop!) DO (
            IF "!Extensao[%%y]!" == "!Final:~-3!" (
                SET /A Quantidade[%%y]+=1
                SET Analisada=1
                CALL :SomarTamanho "%CD%\!Pasta!\%%x" %%y
            )
        )
        IF !Analisada! EQU 0 (
            CALL :DefinirExtensao "%CD%\!Pasta!\%%x"
        )
    )
)
SET /A Loop=!Numero! - 1
FOR /L %%x IN (0,1,!Loop!) DO (
    ECHO ExtensÆo: !Extensao[%%x]!  ^|  Arquivos: !Quantidade[%%x]!  ^|  Somat¢rio: !Somatorio[%%x]!B
)
ENDLOCAL
PAUSE > NUL
EXIT



:DefinirExtensao
SET Somatorio[!Numero!]=0
SET Extensao[!Numero!]=!Final:~-3!
SET Quantidade[!Numero!]=1
CALL :SomarTamanho %1 !Numero!
SET /A Numero+=1
GOTO :EOF



:SomarTamanho
SET /A Somatorio[%2]+=%~Z1
GOTO :EOF


A variável Pasta armazena o nome da pasta a ter informações de seu conteúdo mostradas.



Espero ter ajudado [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem].

Perfeito, você é o cara....

Muito, mas muito obrigado mesmo!

Boss-Head

Boss-Head

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Pssn gosta desta mensagem

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos