it-swarm-ja.com

バッチ経由でGithubからファイルをダウンロードするにはどうすればよいですか?

そこで、完全にコマンドラインベースの「アシスタント」を作成しています。最近、One-driveでのホスティングファイルからGitHubに移行することにしました。 tiny.ccリンクを作成したので、バッチファイル自体を変更せずに最終的なURLを簡単に変更できます。

しかし、tiny.ccのURLをGitHubのファイルにリダイレクトするとすぐに、エラーが発生しました。 powershell -Command Invoke-WebRequest http://tiny.cc/sanchitaiexdown -OutFile C:\Users\%USERNAME%\ai\exdown.exeを使用していました

また、SSL/TLSセキュアチャネルを作成できないというエラーが発生しました。少し調べてみると、その前にこのコマンドを使用する必要があることがわかりました。

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

これに関する問題は、バッチで実行できないことでした(バッチのままにしておきたい)。そこで、BitsAdminを試しましたが、失敗しました。

だから、私がバッチでこれを機能させることができる方法はありますか?外部exeが必要な場合は問題ありませんが、コマンドラインのみでインストールは必要ありません。

ありがとう

2
user473470

PowerShellロジックをに配置することにより、バッチ経由でPowerShellコマンドを実行できます echo コマンドを使用して動的に作成されたPowerShellスクリプト、次にPowerShellスクリプトを実行してロジックを実行し、以下の例のように必要な処理を実行できます。


スクリプトの例

@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

その他のリソース

1
Pimp Juice IT