Ir ao conteúdo
  • Cadastre-se

Outro Script ou CMD , criar relatório de pastas


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Deixa ver se consigo passar a dúvida detalhada! 

 

Quero GERAR UM RELATÓRIO EM .txt de uma pasta do computador, EX:  CAIXA 01, sub pasta EX: LOTE 01, LOTE 2 , e dentro dessas sub pastas tenha EX: 100 arquivos imagem.tif

no final ele mostre um relatório de cada pasta, sub pasta e total de itens dentro da subpasta.

 

EX: RESULTADO  ( ./Caixa 01 /LOTE 01  /100 )   *esse 100 é o total de itens dentro da subpasta. TUDO ISSO É UM CAMINHO DE UMA PASTA NO PROPRIO COMPUTADOR, VÍ QUE USANDO LINUX DA PARA FAZER.

 

//////////////////////////////////////////// ARQUIVO TXT //////////////////////////////
<./Caixa 01/LOTE 01 
100 
../Caixa 02/LOTE 02
50

./Caixa 03/LOTE 03
500

./Caixa 04/LOTE 04
455

./Caixa 05/LOTE 05
852

./Caixa 06/LOTE 06 >
44

 ./Caixa 07/LOTE 07
587

//////////////////////////////////////////// ARQUIVO TXT //////////////////////////////

 

ALGUÉM SE SOUBER, GRATO.

Link para o comentário
Compartilhar em outros sites

Olá veja se é isso que você quer:

 

>> Animação <<

 

Basta colar esse código no bloco de notas e salvar com extensão .bat na parte set Pasta= você coloca a pasta base onde estão as subpastas que você quer fazer a contagem dos arquivos...


@echo off
chcp 1252 > Nul

SetLocal EnableDelayedExpansion

::Especifique o nome da pasta pai onde será feita a contagem dos arquivos
set Pasta=%userprofile%\Desktop

if exist Relatório.txt del Relatório.txt

for /f "Delims=" %%a in ("%Pasta%") do set "Pasta=%%~a"

for /d %%a in ("%pasta%\*") do (
echo %%a:>>Relatório.txt
set Contador=0
for /f "delims=" %%b in ('dir /a-d /b "%%a" 2^>Nul') do set /a Contador+=1
echo !Contador!>>Relatório.txt
)
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Desde já, já início agradecendo seu interesse em ajudar.

 

@echo off
chcp 1252 > Nul

SetLocal EnableDelayedExpansion

::Especifique o nome da pasta pai onde será feita a contagem dos arquivos
set Pasta=C:\Users\admin\Downloads\TESTE\ARQUIVO

if exist Relatório.txt del Relatório.txt

for /f "Delims=" %%a in ("%Pasta%") do set "Pasta=%%~a"

for /d %%a in ("%pasta%\*") do (
echo %%a:>>Relatório.txt
set Contador=0
for /f "delims=" %%b in ('dir /a-d /b "%%a" 2^>Nul') do set /a Contador+=1
echo !Contador!>>Relatório.txt
)

 

ele não retorna a ultima Subpasta , e a soma dos arquivos dentro dela.

segue o caminho. C:\Users\admin\Downloads\TESTE\ARQUIVO\CAIXA 01\MOB 1

dentro dessa pasta, ex:150 unidades (imagens ex:)image.png.0eb77fae3f122b43c9e601f302c5adec.png

 

resultado

 

 

 

mais, foi quase.

image.png

adicionado 1 minuto depois

ele só da o valor das unidades (imagens) quando seleciono a ultima pasta, porém queria de todos os valores, onde o resultado de tudo fosse gerado em um txt

Link para o comentário
Compartilhar em outros sites

Ok, veja agora:


@echo off
chcp 1252 > Nul

SetLocal EnableDelayedExpansion

::Especifique o nome da pasta pai onde será feita a contagem dos arquivos
set Pasta=%userprofile%\Desktop

if exist Relatório.txt del Relatório.txt

for /f "Delims=" %%a in ("%Pasta%") do set "Pasta=%%~a"

for /d /r "%Pasta%" %%a in ("*") do (
echo %%a:>>Relatório.txt
set Contador=0
for /f "delims=" %%b in ('dir /a-d /b "%%a" 2^>Nul') do set /a Contador+=1
echo !Contador!>>Relatório.txt
)

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

15 horas atrás, ricardo_br disse:

Ok, veja agora:

 


@echo off
chcp 1252 > Nul

SetLocal EnableDelayedExpansion

::Especifique o nome da pasta pai onde será feita a contagem dos arquivos
set Pasta=%userprofile%\Desktop

if exist Relatório.txt del Relatório.txt

for /f "Delims=" %%a in ("%Pasta%") do set "Pasta=%%~a"

for /d /r "%Pasta%" %%a in ("*") do (
echo %%a:>>Relatório.txt
set Contador=0
for /f "delims=" %%b in ('dir /a-d /b "%%a" 2^>Nul') do set /a Contador+=1
echo !Contador!>>Relatório.txt
)

 

Ricardo, deixando claro que o resultado já está ok, e que já foi solucionado.

porém aproveitando post já que foquei em outras linguagens e não nessa.... da questão.

 

tem como ele retornar somente as pasta que tem valor ?

sei que 0 é um valor porém se houver zero ele não retornar mostrando no relatório.txt

 

ex: ele mostra 2 relatório de 1 ao 21 gerando de caixa também onde é 0, e o que importa o de mob gerando valores unitários.

 

e se tem como ele encurta o endereço, , inciando de CAIXA\MOB 01 : 20

 

SharedScreenshot.jpg

Link para o comentário
Compartilhar em outros sites

Olá, veja qual deles você prefere. Eu removi as pastas que tem 0 arquivos e agora a pasta base só e listada no inicio do relatório:

 

Batch01:

Pasta Base: C:\users\Fulano\desktop

 

 

Caixa 01/LOTE 01: 100
Caixa 02/LOTE 02: 50

Caixa 03/LOTE 03: 500

Caixa 04/LOTE 04: 455

 

Batch02: (Como estava até agora)

Pasta Base: C:\users\Fulano\desktop

 

 

Caixa 01/LOTE 01:

100
Caixa 02/LOTE 02:

50

Caixa 03/LOTE 03:

500

Caixa 04/LOTE 04:

455

 

Batch03: (Igual Batch01 só que com uma linha em branco entre cada registro)

Pasta Base: C:\users\Fulano\desktop

 

Caixa 01/LOTE 01: 100


Caixa 02/LOTE 02: 50

 

Caixa 03/LOTE 03: 500

 

Caixa 04/LOTE 04: 455

 

* Os batch estão em anexo....

Quantidade_de_Arquivos.zip

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

22 horas atrás, ricardo_br disse:

Você quer importar a quantidade de arquivos em cada pasta para o excel?

@ricardo_br  sim, exato.

apos recolher esse dados que o bath organiza.

 

eu pego os dados e separo em colunas, tipo:

 

image.png.74f792f5621fdd977d5cb2cfa5d0f31b.png

 

 

mais adiantando, que o resultado que me passou já está 100%.

essa parte do excel, eu faço manual.

importo e organizo.

 

 

Link para o comentário
Compartilhar em outros sites

@ricardo_br  tem como eu criar um espaço.tipo de "4 espaço" entre cada assunto

EX: NESSES MODELOS APRESENTADOS.

 

Batch01:

Pasta Base: C:\users\Fulano\desktop

 

 

Caixa 01    /LOTE 01:     100
Caixa 02    /LOTE 02:     50

Caixa 03    /LOTE 03:     500

Caixa 04    /LOTE 04:     455

 

Batch02: (Como estava até agora)

Pasta Base: C:\users\Fulano\desktop

 

 

Caixa 01    /LOTE 01:

100
Caixa 02    /LOTE 02:

50

Caixa 03    /LOTE 03:

500

Caixa 04    /LOTE 04:

455

 

 

ESSE FICARIA, SHOW, SE POSSÍVEL COLOCAR UMA FRASE MENCIONANDO ESSA MUDANÇA, EU FICARIA GRATO.

 

adicionado 1 minuto depois

resultado desejado.

 

caixa 01      lote 01      100
caixa 02      lote 02       50

caixa 03      lote 03       500

caixa 04      lote 04       455

 

 

adicionado 16 minutos depois

OU

caixa 01      lote 01     

100
caixa 02      lote 02     

 50

caixa 03      lote 03       

500

caixa 04      lote 04     

 455

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!