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

[Resolvido][ajuda] compactar arquivos

3 participantes

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

1[Resolvido][ajuda] compactar arquivos Empty [Resolvido][ajuda] compactar arquivos Seg Set 13, 2010 1:59 pm

jerodrigo



Boa tarde a todos,

estou com o seguinte problema.

preciso compactar arquivos *.xls em um servidor de compartilhamento.
mas preciso fazer isso em varias pastas.
a estrutura do servidor é assim y:\envia\00019\*.xls preciso fazer isso em mais de 700 pastas. eu preciso que fique assim y:\envia\00019\*.zip mais é muita pasta
alguem pode me ajudar?
obrigado



Última edição por jerodrigo em Qua maio 11, 2011 5:19 pm, editado 2 vez(es)

R4TH4CK3R

R4TH4CK3R

O notepad dá para fazer isso!

Para separar colunas use o Tab.

Depois de ter o xls em puro texto...

Use este utlitario:



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

Se é isso que quer...

Se não for...

https://github.com/HAWGT

jerodrigo



R4TH4CK3R escreveu:O notepad dá para fazer isso!

Para separar colunas use o Tab.

Depois de ter o xls em puro texto...

Use este utlitario:



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

Se é isso que quer...

Se não for...

VALEU PELA DICA, MAS NÃO É ASSIM NÃO.. DENTRO DESSAS PASTAS JA TEM O ARQUIVO XLS, EU QUERO COMPACTAR OS ARQUIVOS XLS. ENTENDEU MAIS OU MENOS?

R4TH4CK3R

R4TH4CK3R

Ok.

O fórum tem um tópico sobre isso!

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

https://github.com/HAWGT

Boss-Head

Boss-Head

vc quer zipar a pasta inteira junto com as subpastas ?
zipar cada arquivo separadamente em cada pasta ?
ou zipar cada pasta e sub pasta separadas ?

Boss-Head

Boss-Head

para compactar:

PKZIP Y:NOME_DO_ARQUIVO_ZIP C:\PASTA_ORIGEM\*.XLS /ex /p /r /whs
/ex = compressão máxima
/p = armazenar nome das pastas
/r = incluir sub-pastas
/whs = incluir arquivos ocultos e de sistema

para descompactar:

PKUNZIP Y:\NOME_DO_ARQUIVO_ZIP /d
/d = gravar cada arquivo dentro de sua pasta


Boss-Head

Boss-Head

Código:
@echo off
for /r "y:\envia\00019\." %%n in (*.xls) do (
set arq="%%~DPn"
call :zipar
)
PAUSE >NUL
SET /A ARQUIVO+=1
:zipar
echo Zipando %arq%
PKZIP "y:\envia\00019\%ARQUIVO%.ZIP" "%arq%\*.XLS" /ex /p /whs
GOTO:EOF

8[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 11:07 am

jerodrigo



Boss-Head escreveu:
Código:
@echo off
for /r "y:\envia\00019\." %%n in (*.xls) do (
set arq="%%~DPn"
call :zipar
)
PAUSE >NUL
SET /A ARQUIVO+=1
:zipar
echo Zipando %arq%
PKZIP "y:\envia\00019\%ARQUIVO%.ZIP" "%arq%\*.XLS" /ex /p /whs
GOTO:EOF


Desculpa reativar o topico, mais fiquei um bom tempo fora, agora estou na ativa novamente.


seguinte fiz a batch com essa estrutura

Filzip -a -rp Y:\ENVIA\23353\XLS.zip Y:\ENVIA\23353\*.XLS
Filzip -a -rp Y:\ENVIA\24090\XLS.zip Y:\ENVIA\24090\*.XLS
Filzip -a -rp Y:\ENVIA\24074\XLS.zip Y:\ENVIA\24074\*.XLS
Filzip -a -rp Y:\ENVIA\24066\XLS.zip Y:\ENVIA\24066\*.XLS
.
.
.

só que é assim todo dia é criado uma pasta nova, como eu faço para a batch compactar automatico esses arquivos dentro dessa nova pasta, sem eu ter que ir no arquivo e alterar manualmente??
inserindo uma nova linha por ex: Filzip -a -rp Y:\ENVIA\00000\XLS.zip Y:\ENVIA\00000\*.XLS

obrigado

9[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 11:29 am

Boss-Head

Boss-Head

Tem como explicar com mais detalhes ?
se possivel posta o batch que vc fez !

no caso vc quer que 00000 seja sequencial ?
00000
00001
00002
00003
....
e quando vc abrir o batch comece a partir do ultimo numero salvo ?
é isso

10[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 11:34 am

jerodrigo



Código:
cd\
cd Filzip
Filzip -a -rp Y:\ENVIA\23353\XLS.zip Y:\ENVIA\23353\*.XLS
Filzip -a -rp Y:\ENVIA\24090\XLS.zip Y:\ENVIA\24090\*.XLS
Filzip -a -rp Y:\ENVIA\24074\XLS.zip Y:\ENVIA\24074\*.XLS
Filzip -a -rp Y:\ENVIA\24066\XLS.zip Y:\ENVIA\24066\*.XLS
Filzip -a -rp Y:\ENVIA\24023\XLS.zip Y:\ENVIA\24023\*.XLS
Filzip -a -rp Y:\ENVIA\24015\XLS.zip Y:\ENVIA\24015\*.XLS
Filzip -a -rp Y:\ENVIA\24007\XLS.zip Y:\ENVIA\24007\*.XLS
Filzip -a -rp Y:\ENVIA\23957\XLS.zip Y:\ENVIA\23957\*.XLS
Filzip -a -rp Y:\ENVIA\23930\XLS.zip Y:\ENVIA\23930\*.XLS
Filzip -a -rp Y:\ENVIA\23809\XLS.zip Y:\ENVIA\23809\*.XLS
Filzip -a -rp Y:\ENVIA\23787\XLS.zip Y:\ENVIA\23787\*.XLS
Filzip -a -rp Y:\ENVIA\23779\XLS.zip Y:\ENVIA\23779\*.XLS


é basicamente isso que minha batch faz, ele compacta o arquivo se existir algum arquivo *.xls dentro da pasta, preciso que a batch verifique se existe algum arquivo *.xls e compacte, é sequencial sim. 00000 até 99999.

deixo a batch no agendador de tarefas, então todos os dias tem algum arquivo *.xls dentro

11[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 3:00 pm

Boss-Head

Boss-Head

jerodrigo escreveu:
Código:
cd\
cd Filzip
Filzip -a -rp Y:\ENVIA\23353\XLS.zip Y:\ENVIA\23353\*.XLS
Filzip -a -rp Y:\ENVIA\24090\XLS.zip Y:\ENVIA\24090\*.XLS
Filzip -a -rp Y:\ENVIA\24074\XLS.zip Y:\ENVIA\24074\*.XLS
Filzip -a -rp Y:\ENVIA\24066\XLS.zip Y:\ENVIA\24066\*.XLS
Filzip -a -rp Y:\ENVIA\24023\XLS.zip Y:\ENVIA\24023\*.XLS
Filzip -a -rp Y:\ENVIA\24015\XLS.zip Y:\ENVIA\24015\*.XLS
Filzip -a -rp Y:\ENVIA\24007\XLS.zip Y:\ENVIA\24007\*.XLS
Filzip -a -rp Y:\ENVIA\23957\XLS.zip Y:\ENVIA\23957\*.XLS
Filzip -a -rp Y:\ENVIA\23930\XLS.zip Y:\ENVIA\23930\*.XLS
Filzip -a -rp Y:\ENVIA\23809\XLS.zip Y:\ENVIA\23809\*.XLS
Filzip -a -rp Y:\ENVIA\23787\XLS.zip Y:\ENVIA\23787\*.XLS
Filzip -a -rp Y:\ENVIA\23779\XLS.zip Y:\ENVIA\23779\*.XLS


é basicamente isso que minha batch faz, ele compacta o arquivo se existir algum arquivo *.xls dentro da pasta, preciso que a batch verifique se existe algum arquivo *.xls e compacte, é sequencial sim. 00000 até 99999.

deixo a batch no agendador de tarefas, então todos os dias tem algum arquivo *.xls dentro

Código:
@echo off
for /l %%£ in (0,1,99999) do (
    call :Conta "%%£"
call :verifica %numero%
  )
Msg * "terminado"
Exit
:Conta
if %~1 LEQ 9 set numero=0000%~1 &goto :EOF
if %~1 GTR 9 (if %~1 LEQ 99 set numero=000%~1 &goto :EOF )
if %~1 GTR 99 (if %~1 LEQ 999 set numero=00%~1 &goto :EOF )
if %~1 GTR 999 (if %~1 LEQ 9999 set numero=0%~1 &goto :EOF )
if %~1 GTR 9999 set numero=%~1 &goto :EOF

:verifica
ping -n 1 localhost >nul
echo Verificando Y:\ENVIA\%numero%\*.XLS
if exist "Y:\ENVIA\%numero%\*.XLS" (
Echo encontrado e compactado arquivo Y:\ENVIA\%numero%\*.XLS >>Log.txt
Echo.>>Log.txt
Filzip -a -rp "Y:\ENVIA\%numero%\XLS.zip" "Y:\ENVIA\%numero%\*.XLS"
)
goto:eof

12[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 3:01 pm

Boss-Head

Boss-Head

pra ficar mais rapido se quiser poe um REm na frente do ping

13[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 3:22 pm

jerodrigo



Boss-Head escreveu:
jerodrigo escreveu:
Código:
cd\
cd Filzip
Filzip -a -rp Y:\ENVIA\23353\XLS.zip Y:\ENVIA\23353\*.XLS
Filzip -a -rp Y:\ENVIA\24090\XLS.zip Y:\ENVIA\24090\*.XLS
Filzip -a -rp Y:\ENVIA\24074\XLS.zip Y:\ENVIA\24074\*.XLS
Filzip -a -rp Y:\ENVIA\24066\XLS.zip Y:\ENVIA\24066\*.XLS
Filzip -a -rp Y:\ENVIA\24023\XLS.zip Y:\ENVIA\24023\*.XLS
Filzip -a -rp Y:\ENVIA\24015\XLS.zip Y:\ENVIA\24015\*.XLS
Filzip -a -rp Y:\ENVIA\24007\XLS.zip Y:\ENVIA\24007\*.XLS
Filzip -a -rp Y:\ENVIA\23957\XLS.zip Y:\ENVIA\23957\*.XLS
Filzip -a -rp Y:\ENVIA\23930\XLS.zip Y:\ENVIA\23930\*.XLS
Filzip -a -rp Y:\ENVIA\23809\XLS.zip Y:\ENVIA\23809\*.XLS
Filzip -a -rp Y:\ENVIA\23787\XLS.zip Y:\ENVIA\23787\*.XLS
Filzip -a -rp Y:\ENVIA\23779\XLS.zip Y:\ENVIA\23779\*.XLS


é basicamente isso que minha batch faz, ele compacta o arquivo se existir algum arquivo *.xls dentro da pasta, preciso que a batch verifique se existe algum arquivo *.xls e compacte, é sequencial sim. 00000 até 99999.

deixo a batch no agendador de tarefas, então todos os dias tem algum arquivo *.xls dentro

Código:
@echo off
for /l %%£ in (0,1,99999) do (
call :Conta "%%£"
call :verifica %numero%
)
Msg * "terminado"
Exit
:Conta
if %~1 LEQ 9 set numero=0000%~1 &goto :EOF
if %~1 GTR 9 (if %~1 LEQ 99 set numero=000%~1 &goto :EOF )
if %~1 GTR 99 (if %~1 LEQ 999 set numero=00%~1 &goto :EOF )
if %~1 GTR 999 (if %~1 LEQ 9999 set numero=0%~1 &goto :EOF )
if %~1 GTR 9999 set numero=%~1 &goto :EOF

:verifica
ping -n 1 localhost >nul
echo Verificando Y:\ENVIA\%numero%\*.XLS
if exist "Y:\ENVIA\%numero%\*.XLS" (
Echo encontrado e compactado arquivo Y:\ENVIA\%numero%\*.XLS >>Log.txt
Echo.>>Log.txt
Filzip -a -rp "Y:\ENVIA\%numero%\XLS.zip" "Y:\ENVIA\%numero%\*.XLS"
)
goto:eof

vou testar.. só me explica qual a estrutura desse batch?

14[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 3:59 pm

jerodrigo



Testei.. mas não deu certo, ele não está compactando os arquivos.

15[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 4:09 pm

Boss-Head

Boss-Head

testa esse
Código:
@echo off
for /l %%£ in (0,1,99999) do (
    call :Conta "%%£"
call :verifica %numero%
  )
Msg * "terminado"
Exit
:Conta
if %~1 LEQ 9 set numero=0000%~1&goto :EOF
if %~1 GTR 9 (if %~1 LEQ 99 set numero=000%~1&goto :EOF )
if %~1 GTR 99 (if %~1 LEQ 999 set numero=00%~1&goto :EOF )
if %~1 GTR 999 (if %~1 LEQ 9999 set numero=0%~1&goto :EOF )
if %~1 GTR 9999 set numero=%~1&goto :EOF

:verifica
ping -n 1 localhost >nul
echo Verificando Y:\ENVIA\%numero%\*.XLS
if exist "Y:\ENVIA\%numero%" (
pushd "Y:\ENVIA\%numero%"
if exist *.xls (
Echo encontrado e compactado arquivo Y:\ENVIA\%numero%\*.XLS >>Log.txt
Echo.>>Log.txt
Filzip -a -rp "XLS.zip" "*.XLS"
popd
)
)
goto:eof

16[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 4:10 pm

Boss-Head

Boss-Head

ou esse
Código:
@echo off
for /l %%£ in (0,1,99999) do (
call :Conta "%%£"
call :verifica %numero%
)
Msg * "terminado"
Exit
:Conta
if %~1 LEQ 9 set numero=0000%~1&goto :EOF
if %~1 GTR 9 (if %~1 LEQ 99 set numero=000%~1&goto :EOF )
if %~1 GTR 99 (if %~1 LEQ 999 set numero=00%~1&goto :EOF )
if %~1 GTR 999 (if %~1 LEQ 9999 set numero=0%~1&goto :EOF )
if %~1 GTR 9999 set numero=%~1&goto :EOF
:verifica
ping -n 1 localhost >nul
echo Verificando Y:\ENVIA\%numero%\*.XLS
if exist "Y:\ENVIA\%numero%\*.XLS" (
Echo encontrado e compactado arquivo Y:\ENVIA\%numero%\*.XLS >>Log.txt
Echo.>>Log.txt
Filzip -a -rp "Y:\ENVIA\%numero%\XLS.zip" "Y:\ENVIA\%numero%\*.XLS"
)
goto:eof

17[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 4:11 pm

Boss-Head

Boss-Head

tinha um errinho eu creio que os 2 devem funcionar agora

18[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 4:33 pm

jerodrigo



Boss-Head escreveu:ou esse
Código:
@echo off
for /l %%£ in (0,1,99999) do (
call :Conta "%%£"
call :verifica %numero%
)
Msg * "terminado"
Exit
:Conta
if %~1 LEQ 9 set numero=0000%~1&goto :EOF
if %~1 GTR 9 (if %~1 LEQ 99 set numero=000%~1&goto :EOF )
if %~1 GTR 99 (if %~1 LEQ 999 set numero=00%~1&goto :EOF )
if %~1 GTR 999 (if %~1 LEQ 9999 set numero=0%~1&goto :EOF )
if %~1 GTR 9999 set numero=%~1&goto :EOF
:verifica
ping -n 1 localhost >nul
echo Verificando Y:\ENVIA\%numero%\*.XLS
if exist "Y:\ENVIA\%numero%\*.XLS" (
Echo encontrado e compactado arquivo Y:\ENVIA\%numero%\*.XLS >>Log.txt
Echo.>>Log.txt
Filzip -a -rp "Y:\ENVIA\%numero%\XLS.zip" "Y:\ENVIA\%numero%\*.XLS"
)
goto:eof

Boss..

onde esse log será gravado?

apos gravado ele vai mostrar algo?

abc

19[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 4:36 pm

Boss-Head

Boss-Head

deu certo ?

20[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 4:42 pm

jerodrigo



agora deu.. massa.. vc é o cara mesmo.. muito obrigado.. só que assim, tem como só o batch acessar o diretorio que existe.. ou seja não ficar verificando 00000 00001 ... ir direto no diretorio ex 00019?pq ele passa 1 a 1 né.. e do 00000 ate 00018 não existe

21[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 4:44 pm

Boss-Head

Boss-Head

pra isso que serve
if exist "Y:\ENVIA\%numero%\*.XLS"

22[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 4:45 pm

Boss-Head

Boss-Head

coloca um rem em ping -n 1 localhost >nul

assim

rem ping -n 1 localhost >nul

ele vai rapidinho.

23[Resolvido][ajuda] compactar arquivos Empty Re: [Resolvido][ajuda] compactar arquivos Qua maio 11, 2011 4:47 pm

jerodrigo



notei isso mesmo.. vou retirar obrigado

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