Como você baixa arquivos do Github via Batch?

2

Então, eu estou fazendo um "Assistente" que é completamente baseado em linha de comando. Recentemente, decidi migrar de arquivos de hospedagem no One-drive para o GitHub. Eu tinha feito links tiny.cc para que fosse fácil alterar o URL final sem ter que alterar o arquivo em lote.

Mas, assim que eu redirecionei meus URLs tiny.cc para meus arquivos no GitHub, recebi erros. Eu estava usando powershell -Command Invoke-WebRequest http://tiny.cc/sanchitaiexdown -OutFile C:\Users\%USERNAME%\ai\exdown.exe

E veio com o erro não foi possível criar SSL / TLS Secure Channel. Depois de um pouco de pesquisa descobri que eu tinha que usar este comando antes,

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

O problema era que não poderia ser executado em lote (quero ficar em lote). Então eu tentei o BitsAdmin e ele também falhou comigo.

Então, existe uma maneira de fazer isso funcionar no BATCH. Eu estou bem se um exe externo é necessário, mas só pode ser linha de comando e nenhuma instalação necessária.

Obrigado

    
por user473470 11.06.2018 / 00:31

1 resposta

1

Você pode executar os comandos do PowerShell por lote, colocando a lógica do PowerShell em um script PowerShell criado dinamicamente usando echo e o script PowerShell podem ser executados para executar a lógica e fazer o que for necessário para fazer no exemplo abaixo.

Exemplo de script

@ECHO ON

:PowerShell
SET PSScript=%temp%\~tmpDlFile.ps1
IF EXIST "%PSScript%" DEL /Q /F "%PSScript%"
ECHO [Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls">>"%PSScript%"
ECHO Invoke-WebRequest "http://tiny.cc/sanchitaiexdown" -OutFile "C:\Users\%USERNAME%\ai\exdown.exe">>"%PSScript%"

SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'"
EXIT

Mais recursos

por 11.06.2018 / 01:49