Como você pode baixar um arquivo / zip a partir da linha de comando usando massa?
Pergunta
Eu estou tentando escrever um script em lotes (CMD @ o Windows XP Pro), que irá automaticamente baixar e pacotes unzip com a ajuda de 7zip e massa / psftp
Se eu tiver uma URL para um pacote para download http://somesite.org/packages/package .zip como faço para baixá-lo na linha de comando usando putty?
Além disso, se você tem uma maneira melhor de fazer isso que seria útil também.
Solução
wget é, naturalmente, uma solução óbvia, mas eu também sugiro dar uma olhada em cURL . De seu site:
onda é uma ferramenta de linha de comando para transferência de arquivos com sintaxe de URL, suporte FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS e FILE. suportes onda SSL certificados, HTTP POST, HTTP PUT, FTP upload, HTTP formulário de envio com base, proxies, cookies, usuário + senha autenticação (Basic, Digest, NTLM, Negociar, kerberos ...), transferência de arquivos resumo, encapsulamento proxy e um busload de outros truques úteis.
Of fonte curso livre e aberto, e apesar de sua enorme lista de protocolos suportados é tão simples de usar como wget, de modo a usar o seu exemplo
curl -O http://somesite.org/packages/package.zip
de downloads package.zip em um arquivo local com o mesmo nome
curl -o myname.zip http://somesite.org/packages/package.zip
de downloads package.zip como myname.zip
curl http://somesite.org/packages/package.zip > package.zip
redirecionamentos onda é stdout para package.zip
EDIT - exemplo corrigido, com agradecimentos a @PrabhakarKasi
Outras dicas
versão win32 de wget:
Putty não é realmente uma ferramenta de download. A menos que você quiser baixar algo via SCP / SFTP. Então, sim, wget
é mais útil aqui.
Eu não sei massa, mas certamente wget pode fazer. Se você estiver no Windows, você pode obtê-lo por cygwin ou apenas google uma versão win32.
pscp.exe -pw yourpassword you@somesite.org:. /Packages/package.zip \
O caminho para /packages/package.zip deve ser qualquer que seja o caminho para os arquivos Web públicos estão no servidor. Assim, por exemplo, em algum servidor apache velho, pode ser:
pscp.exe -pw yourpassword you@somesite.org:. /Users/httpd/vhosts/default/packages/package.zip \
Use pscp, que vem com PuTTY:
pscp user@host:/path/to/file.7z .
7z e file.7z
Se você configurá-lo com SSH chaves , pscp não terá que pedir-lhe um senha.