Eu quero uma maneira de baixar um arquivo via HTTP, dada a URL (semelhante à forma como o wget funciona). Vi as respostas para esta pergunta , mas tenho duas alterações nos requisitos:
- Gostaria que ele fosse executado no Windows 7 ou posterior (embora, se funcionar no Windows XP, isso seja um bônus).
- Eu preciso ser capaz de fazer isso em uma máquina de estoque com nada além do script, que deve ser um texto que possa ser facilmente inserido em um teclado ou copiado / colado.
- Quanto menor, melhor.
Então, basicamente, eu gostaria de um script .cmd (lote), VBScript ou PowerShell que possa realizar o download. Ele pode usar o COM ou invocar o Internet Explorer, mas precisa ser executado sem nenhuma entrada e deve se comportar bem quando invocado sem uma exibição (como por meio de uma sessão Telnet ).
windows-7
command-line
download
http
Jason R. Coombs
fonte
fonte
Respostas:
Se você possui o PowerShell> = 3.0, pode usar Invoke-WebRequest :
Ou jogou golfe:
fonte
powershell -command "iwr -outf su.htm superuser.com"
Eu usaria o BITS ( primer ):
A partir do Windows 7, a Microsoft recomenda o uso dos cmdlets do PowerShell para BITS.
Você também pode usar o BITS via COM , veja aqui um exemplo de VBScript . E existe o ' bitsadmin ', uma ferramenta de linha de comando para controlar downloads:
No Windows 7
bitsadmin.exe
afirma-se que é uma ferramenta obsoleta. Mesmo assim:fonte
Experimente a classe Web Client . Há um exemplo de script do PowerShell na parte inferior desta página:
fonte
Copie e cole as seis linhas a seguir (ou apenas as últimas quatro linhas) em um arquivo de texto. Em seguida, renomeie-o para
vget.vbs
.Obviamente, você precisa personalizar três coisas neste script para fazê-lo funcionar.
vget.vbs
, se foi assim que você o chamou.FILE.TXT
qual você deseja que a saída seja direcionada por uma linha de comando em lote do DOS .Eu apenas tentei usar isso para baixar um arquivo de texto ASCII bruto (um script cmd mais poderoso) da minha conta do Dropbox , então não sei se ele funcionará para arquivos EXE, etc .; ou de outros servidores da web.
Se você dispensar as duas primeiras linhas de comentário, elas terão apenas quatro linhas. Se você conhece o VBScript, pode até levar esse código em sua cabeça e digitá-lo na linha de comando, conforme necessário. Ele contém apenas cinco componentes-chave de comando:
CreateObject
,.Open
,.Send
,WScript.Echo
e.responseText
.fonte
Aqui está minha tentativa de retomar as maneiras de como o arquivo pode ser baixado no Windows sem o uso de ferramentas externas.
Inclui o BITSADMIN, o Microsoft.XmlHTTP e o WinHTTP com um script híbrido em lote / JScript que não precisa de arquivos temporários e o System.Net.WebClinet com o híbrido auto-compilado jscript.net.
fonte