×
Ir ao conteúdo
  • Cadastre-se

Shell Script Juntar todos os arquivos de subpastas em uma pasta única


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Olá ScripMaker's  !!!

 

Gostaria de vê com vocês essa forma,  tipo :

Tenho 1 pasta   com 20 SubPastas "e nessas 20 pastas contem 10 pastas cada, contendo arquivos em .PDF.

 

gostaria que, com um script mover todos os PDF para uma pasta única, deixando os PDF todos em 1 pasta só.

 

Desde de já, grato pela ajuda.

Link para o comentário
Compartilhar em outros sites

  • Solução

Tente esse código, so mudar essa parte:

 

set Origem=%userprofile%\desktop\Origem
set Destino=%userprofile%\desktop\Destino

 

@echo off
chcp 1252> Nul

set Origem=%userprofile%\desktop\Origem
set Destino=%userprofile%\desktop\Destino
set Tipo=.pdf

for /r %Origem% %%a in (*%Tipo%) do (
if /i exist "%Destino%\%%~nxa" (
set "Arquivo=%%~na"
set "Extencao=%%~xa"
set "Completo=%%a"
call :Renomear
)
if /i not exist "%Destino%\%%~nxa" copy "%%a" "%Destino%"
)

exit

:Renomear
for /l %%b in (1,1,100) do if /i not exist "%Destino%\%Arquivo%(%%b)%Extencao%" copy "%Completo%" "%Destino%\%Arquivo%(%%b)%Extencao%"& goto :EOF
goto :EOF

 

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

  • mês depois...

@ricardo_br

Bom dia

 

esse caminho funciona bem quando está em outro HD? e o scrip estiver no c :
porém já movi o scrip e não rodou.
Tipo 

 

@echo off
chcp 1252> Nul

set Origem=G:\Users\Ricardo\Documents\5000ª integração\12.15.41-50- PDF UNIFICADO ok
set Destino=G:\Users\Ricardo\Documents\5000ª integração\
set Tipo=.pdf

for /r %Origem% %%a in (*%Tipo%) do (
if /i exist "%Destino%\%%~nxa" (
set "Arquivo=%%~na"
set "Extencao=%%~xa"
set "Completo=%%a"
call :Renomear
)
if /i not exist "%Destino%\%%~nxa" copy "%%a" "%Destino%"
)

exit

:Renomear
for /l %%b in (1,1,100) do if /i not exist "%Destino%\%Arquivo%(%%b)%Extencao%" copy "%Completo%" "%Destino%\%Arquivo%(%%b)%Extencao%"& goto :EOF
goto :EOF

 

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois...

@ricardo_br

 

Opa Ricardo.

mesmo salvando em ANSI, e sem barra no final,
quando se está em outro HD não continua o processo.

 

 

@echo off
chcp 1252> Nul

set Origem=G:\Users\Ricardo\Documents\REALIZAR IMPORTAÇÃO DE ARQUIVOS EBSERH\
set Destino=G:\Users\Ricardo\Documents\1 Importacao OS30\
set Tipo=.pdf

for /r %Origem% %%a in (*%Tipo%) do (
if /i exist "%Destino%\%%~nxa" (
set "Arquivo=%%~na"
set "Extencao=%%~xa"
set "Completo=%%a"
call :Renomear
)
if /i not exist "%Destino%\%%~nxa" copy "%%a" "%Destino%"
)

exit

:Renomear
for /l %%b in (1,1,100) do if /i not exist "%Destino%\%Arquivo%(%%b)%Extencao%" copy "%Completo%" "%Destino%\%Arquivo%(%%b)%Extencao%"& goto :EOF
goto :EOF

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois...

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...

Aprenda a ler resistores e capacitores

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!