PURE BATCHでファイルをダウンロードしています...
JScript、VBScript、Powershellなどなし...純粋なバッチのみ!
一部の人々は、JScriptやVBScriptなどを使用せずにバッチスクリプトでファイルをダウンロードすることは不可能だと言っています...しかし、それらは間違いなく間違っています!
これは、バッチスクリプトでファイルをダウンロードするのに非常にうまく機能するように見える単純な方法です。ほとんどすべてのファイルのURLで機能するはずです。必要に応じて、プロキシサーバーを使用することもできます。
ファイルのダウンロードには、WindowsシステムのBITSADMIN.EXEを使用できます。何かをダウンロード/インストールしたり、JScriptやVBScriptなどを使用したりする必要はありません。Bitsadmin.exeは、Windows XPからWindows 10までのほとんどのWindowsバージョンに存在します。
楽しい!
使用法:
次のように、BITSADMINコマンドを直接使用できます。
bitsadmin /transfer mydownloadjob /download /priority FOREGROUND "http://example.com/File.zip" "C:\Downloads\File.zip"
プロキシサーバー:プロキシ
を使用して接続するには、ダウンロードする前にこのコマンドを使用します。
bitsadmin /setproxysettings mydownloadjob OVERRIDE "proxy-server.com:8080" "<local>"
BITSadmin.exeの詳細については、このリンクをクリックしてください
トラブルシューティング:
このエラーが発生した場合:「BITSに接続できません-0x80070422」
Windowsサービスの「バックグラウンドインテリジェント転送サービス(BITS)」が有効になっていることを確認して、再試行してください。(デフォルトで有効になっているはずです。)
カスタム機能
Call :DOWNLOAD_FILE "URL"
Call :DOWNLOAD_PROXY_ON "SERVER:PORT"
Call :DOWNLOAD_PROXY_OFF
私は、bitsadminコマンドを簡略化するためにこれら3つの関数を作成しました。使いやすく覚えやすいです。スクリプトで複数回使用する場合に特に役立ちます。
注意してください...
これらの関数を使用する前に、まずCUSTOM_FUNCTIONS.CMDからスクリプトの最後にそれらをコピーする必要があります。完全な例もあります:DOWNLOAD-EXAMPLE.CMD
:DOWNLOAD_FILE "URL"
主な機能は、URLからファイルをダウンロードします。
:DOWNLOAD_PROXY_ON "SERVER:PORT"
(オプション)プロキシサーバーを使用する必要がある場合は、この関数を使用できます。
:DOWNLOAD_PROXY_OFF関数を呼び出すと、プロキシサーバーが無効になります。
例:
CALL :DOWNLOAD_PROXY_ON "proxy-server.com:8080"
CALL :DOWNLOAD_FILE "http://example.com/File.zip" "C:\Downloads\File.zip"
CALL :DOWNLOAD_PROXY_OFF
CUSTOM_FUNCTIONS.CMD
:DOWNLOAD_FILE
rem BITSADMIN COMMAND FOR DOWNLOADING FILES:
bitsadmin /transfer mydownloadjob /download /priority FOREGROUND %1 %2
GOTO :EOF
:DOWNLOAD_PROXY_ON
rem FUNCTION FOR USING A PROXY SERVER:
bitsadmin /setproxysettings mydownloadjob OVERRIDE %1 "<local>"
GOTO :EOF
:DOWNLOAD_PROXY_OFF
rem FUNCTION FOR STOP USING A PROXY SERVER:
bitsadmin /setproxysettings mydownloadjob NO_PROXY
GOTO :EOF
DOWNLOAD-EXAMPLE.CMD
@ECHO OFF
SETLOCAL
rem FOR DOWNLOADING FILES, THIS SCRIPT IS USING THE "BITSADMIN.EXE" SYSTEM FILE.
rem IT IS PRESENT ON MOST WINDOWS VERSION, PROBABLY FROM WINDOWS XP TO WINDOWS 10.
:SETUP
rem URL (5MB TEST FILE):
SET "FILE_URL=http://ipv4.download.thinkbroadband.com/5MB.zip"
rem SAVE IN CUSTOM LOCATION:
rem SET "SAVING_TO=C:\Folder\5MB.zip"
rem SAVE IN THE CURRENT DIRECTORY
SET "SAVING_TO=5MB.zip"
SET "SAVING_TO=%~dp0%SAVING_TO%"
:MAIN
ECHO.
ECHO DOWNLOAD SCRIPT EXAMPLE
ECHO.
ECHO FILE URL: "%FILE_URL%"
ECHO SAVING TO: "%SAVING_TO%"
ECHO.
rem UNCOMENT AND MODIFY THE NEXT LINE IF YOU NEED TO USE A PROXY SERVER:
rem CALL :DOWNLOAD_PROXY_ON "PROXY-SERVER.COM:8080"
rem THE MAIN DOWNLOAD COMMAND:
CALL :DOWNLOAD_FILE "%FILE_URL%" "%SAVING_TO%"
rem UNCOMMENT NEXT LINE FOR DISABLING THE PROXY (IF YOU USED IT):
rem CALL :DOWNLOAD_PROXY_OFF
:RESULT
ECHO.
IF EXIST "%SAVING_TO%" ECHO YOUR FILE HAS BEEN SUCCESSFULLY DOWNLOADED.
IF NOT EXIST "%SAVING_TO%" ECHO ERROR, YOUR FILE COULDN'T BE DOWNLOADED.
ECHO.
:EXIT_SCRIPT
PAUSE
EXIT /B
rem FUNCTIONS SECTION
:DOWNLOAD_FILE
rem BITSADMIN COMMAND FOR DOWNLOADING FILES:
bitsadmin /transfer mydownloadjob /download /priority FOREGROUND %1 %2
GOTO :EOF
:DOWNLOAD_PROXY_ON
rem FUNCTION FOR USING A PROXY SERVER:
bitsadmin /setproxysettings mydownloadjob OVERRIDE %1 "<local>"
GOTO :EOF
:DOWNLOAD_PROXY_OFF
rem FUNCTION FOR STOP USING A PROXY SERVER:
bitsadmin /setproxysettings mydownloadjob NO_PROXY
GOTO :EOF