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] Batch para efetuar download de um HTTP???

3 participantes

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

Wesley Sampa



Olá pessoal sou novo aqui no fórum e estou precisando de um script que faça o seguinte, execute um download de um arquivo em um endereço HTTP e o salve em uma unidade tipo d:\bitti, esse download será efetuado todos os dias as 18:00hs, após o termino ele deverá executar o programa de atualização e o lançara para a sua pasta raiz para que o programa possa ser atualizado, pelo que confirmei com a empresa é possível efetuar o download desse pacote e depois descompactá-lo na mesma pasta e depois mover os mesmos arquivos para a sua pasta raiz, será solicitado a confirmação para sobrescrever os arquivos e pelo que sei da pra forçar a mudança sem pedir autorização.

Espero que tenham entendido o que pretendo fazer, o agendamento da execução da batch eu faço pelo windows mesmo, eu só preciso que a batch faça o download desse arquivo que fica em um endereço de http. EX. [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Espero que isso seja possivel.

Abrs.

Borsatti

Borsatti

Primeiramente Wesley seja bem vindo !

Fiz um script e talvez precise alguns ajustes (não testei ,tudo é teórico)
salve ele com o nome.bat no inicializar do PC assim o bat roda automático assim que o PC é ligado, as pastas e horas mude de acordo com sua necessidade.
Bom espero que te ajude. Sorce aqui >>>http://paste.ubuntu.com/108932/

Código:
@echo off
set bat=%temp%\download.bat
echo @echo off >%bat%
echo set http=http://www.minhaempresa.com.br/downloads/programa.rar >>%bat%
echo set dir=d:\bitti >>%bat%
echo set destino=local onde vai ser movidos os arquivos >>%bat%
echo :: inicio download >>%bat%
echo start %%http%% >>%bat%

echo :: um tempo para comcluir o download mude o valor 300 e o n 10 de acordo com o tamanho do arquivo >>%bat%
echo for /l %%%%A in (1,1,300) do ( >>%bat%
echo ^>nul ping 127.0.0.1 -n 10 >>%bat%
echo ) >>%bat%
echo ::cria passta caso não exista >>%bat%
echo if not exist %%dir%% mkdir %%dir%% >>%bat%
echo :: descompacta o arquivo >>%bat%
echo unrar e -kb %%dir%%\programa.rar >>%bat%
echo ::move para o local escolhido >>%bat%
echo cd %%dir%% >>%bat%
echo move *.* %%destino%% >>%bat%

echo echo msg * concluido o download das %%time%% >>%bat%
echo exit >>%bat%

at 09:00 cmd /c "%bat%"
at 16:00 cmd /c "%bat%"
at 19:00 cmd /c "%bat%"
pause

http://batch-satti.com

Borsatti

Borsatti

Existe um aplicativo que pode ser utilizado em linha de comando batch, para download de sites http .
(nunca utilizei más já ouvir falar que funciona )
utiliza-se assim
URL2File [Tens de ter uma conta e sessão iniciada para poderes visualizar este link] nomeasersalvo.rar
todo processo fica automático sem pedidos de confirmação etc.
mais detalhes aqui >>>> [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
o escript acima dá para ser adaptado a esse aplicativo se quiser
ou mesmo utilize o script acima com um gerenciador de downloads tipo orbit,fdm,flashget em modo automático para iniciar seu download automáticamente sem pedir permissoes etc.
espero que seja de ajuda essas informações

http://batch-satti.com

Wesley Sampa



Olá, eu dei uma lida no processo mais não consegui entender como se faz, vc pode me dar um help nisso ai?

Vou deixar link do programa que eu quero baixar, assim fica mais facil, o endereço dele é esse aqui.

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

O que preciso é só baixar esse executável para uma pasta (\\servidor\sistemas\bitti) , dai ficaria assim, todo dia as 20:00hs a batch é executada via agendador de terefas e começa a efetuar o download do arquivo que tem uns 20Mb para a pasta no mapeamento (\\servidor\sistemas\bitti), ai eu vou agendar alertas em meu PC para efetuar a atualização do programa que foi baixado durante a noite, e caso seja possível e não for pedir demais, colocar um gerador de log se o download foi feito com sucesso ou não, dentro da pasta bitti vai ter uma pasta com o nome log (\\servidor\sistemas\bitti\log). É possível fazer com que essa batch mande e-mail após a conclusão do download, mesmo que ele tenha dado erro, assim é possível saber se o download foi executado com sucesso. Não esquecer que esse programa sempre será salvo nessa mesma pasta e que o mesmo ira exibor uma mensagem se quer gravar por cima do antigo, se tiver com forçar isso pode colocar porque o nome dele sempre é o mesmo. É preciso que o download enicie sem a necessidade de precionar qualquer tecla, tipo ele executa a batch e já começa a fazer o download.

Borsatti, tem como fazer isso??? Estou precisando muito desse recurso e pelo que vc me passou é muito simples o processo mais eu nao conheço muito de batch e por isso quero a sua ajuda.

OBS. Tem como comentar os códigos, assim ficaria mais facil o meu entendimento em cada linha.
Desde já agradeço a sua ajuda.

Abrs.

Espero que possa me ajudar, ficarei muito grato mesmo.

Abrs.

Borsatti

Borsatti

Vou ver o que posso fazer e posto uma solução !

1º impessilho é que vai ter de baixar de um Http. se fosse de ftp seria muito mais simples ,pois vai ter de ter a intervensão da pessoa para salvar o arquivo em uma pasta a menos que você utilize um gerenciador de downloads em modo automático tipo Orbit ou FDM ou Flashget .

2º problema o arquivo é .exe se fosse zip ou rar seria mais facil para descompactar e move-lo para a pasta de destino a menos que seja um executavel de arquivo compactado sfx tipo auto extraivel .

No restante não vejo problemas quanto a enviar um email você terá de trabalhar com um arquivo externo para isso más não é impossivel !

http://batch-satti.com

Borsatti

Borsatti

@echo off
rem vai copiar o arquivo para o inicializar
copy %0 "C:\Documents and Settings\All Users\Menu Iniciar\Programas\Inicializar\"
rem determina as variáveis nome do batch no agendador de tarefas
set bat=%temp%\download.bat
rem determina as variáveis do arquivo gerador de download
echo @echo off >%bat%
echo set http=http://download.bitti.com.br/Downloads/UpSIB.exe?attredirects=0>>%bat%
echo set dir=d:\bitti >>%bat%
echo set destino=\\servidor\sistemas\bitti >>%bat%
rem inicia o gerador de download
rem cria um log chamado update.log mostra a data atual e a hora do inicio do download
echo echo iniciando o download do dia %%date%% as %%time%% ^>%destino%\update.log >>%bat%
rem inicia o download do arquivo
echo start %%http%% >>%bat%
rem inicia uma pausa (um tempo para comcluir o download) mude o valor 10000 e o n 10 de acordo com o tamanho do arquivo
rem o tempo para conclusao depende da veocidade de conexão 20MB +ou- 10 minutos
echo for /l %%%%A in (1,1,1000) do ( >>%bat%
echo ^>nul ping 127.0.0.1 -n 10 >>%bat%
echo ) >>%bat%

rem cria passta caso não exista aonde o arquivo vai ser descompactado
echo if not exist %%dir%% mkdir %%dir%% >>%bat%
rem inicia a descompactação do arquivo
echo %%dir%%\UpSIB.exe >>%bat%
rem move o conteudo descompactado para o local escolhido
echo cd %%dir%% >>%bat%
echo move *.* %%destino%% >>%bat%
rem cria o final do log indicando que todo processo foi concluido na data atual e a hora
echo echo concluido o download do dia %%date%% as %%time%% ^>%destino%\update.log >>%bat%
echo exit >>%bat%
rem chama o agendador de tarefas para iniciar o script as 18 horas do dia atual
at 18:00 cmd /c "%bat%"
rem finaliza o batch
exit

http://batch-satti.com

Boss-Head

Boss-Head

@echo off
COLOR 4f
ECHO. *********************************************
ECHO. ** Update by B©SS HEAD **
ECHO. *********************************************
ECHO.
Pause
CLS
SET ARQUIVO=[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
SET SALVARCOMO=UpSIB.exe
goto Update
:Update
start %ARQUIVO% /output:"desktop"\%SALVARCOMO% /overwrite
:END
endlocal
::/output:"desktop"\ É O LOCAL AONDE VOCÊ DEVE SALVAR

::/overwrite É CASO EXISTA ALGUM ARQUIVO COM O MESMO NOME
::DEVE SOBRESCREVER

Wesley Sampa



Olá Boss-Head, eu testei o seu código, ela chama a url sem problema, mais ele abre a opção para eu dar o ok para dar início ao download, seria possível pular essa parte? Tipo, ao chamar o link ele já salvar ele no desktop sem ter que dar o ok para continuar?

Qualquer coisa me add no MSN - [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Fico no aguardo.

Boss-Head

Boss-Head

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

sugiro utilizar um gerenciador de downloads tipo orbit ou FDM ou flashget em modo automático !

Wesley Sampa



Olá Boss-Head,

Cara consegui efetuar o processo com o programa Free Download Manager, com ele consegui programar para que ele fizesse o download do arquivo do link todos os dias e que executasse ele após o término, até agora esta bem, agora não consigo mais esquecer de fazer a atualização do sistema.

Muuuito obrigado pela ajuda de todos aqui!!!

Abrs.

Boss-Head

Boss-Head

Dá uma olhada em scripts completo em só para membros fiz um em .Bat-.Vbs
Talvez possa servir para vc e sem precisar de arquivos externos !

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

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