Mendownload file di PURE BATCH ...
Tanpa JScript, VBScript, Powershell, dll ... Hanya Batch murni!
Beberapa orang mengatakan tidak mungkin mengunduh file dengan skrip batch tanpa menggunakan JScript atau VBScript, dll ... Tapi mereka pasti salah!
Berikut adalah metode sederhana yang tampaknya berfungsi cukup baik untuk mengunduh file dalam skrip batch Anda. Ini harus berfungsi di hampir semua URL file. Bahkan dimungkinkan untuk menggunakan server proxy jika Anda membutuhkannya.
Untuk mendownload file, kita bisa menggunakan BITSADMIN.EXE dari sistem Windows. Tidak perlu mengunduh / menginstal apa pun atau menggunakan JScript atau VBScript, dll. Bitsadmin.exe ada di sebagian besar versi Windows, mungkin dari XP ke Windows 10.
Nikmati!
PEMAKAIAN:
Anda dapat menggunakan perintah BITSADMIN secara langsung, seperti ini:
bitsadmin /transfer mydownloadjob /download /priority FOREGROUND "http://example.com/File.zip" "C:\Downloads\File.zip"
Server Proxy:
Untuk menghubungkan menggunakan proxy, gunakan perintah ini sebelum mengunduh.
bitsadmin /setproxysettings mydownloadjob OVERRIDE "proxy-server.com:8080" "<local>"
Klik LINK ini jika Anda ingin info lebih lanjut tentang BITSadmin.exe
PEMECAHAN MASALAH:
Jika Anda mendapatkan kesalahan ini: "Tidak dapat terhubung ke BITS - 0x80070422"
Pastikan layanan windows "Background Intelligent Transfer Service (BITS)" diaktifkan dan coba lagi. (Ini harus diaktifkan secara default.)
FUNGSI KUSTOM
Call :DOWNLOAD_FILE "URL"
Call :DOWNLOAD_PROXY_ON "SERVER:PORT"
Call :DOWNLOAD_PROXY_OFF
Saya membuat 3 fungsi ini untuk menyederhanakan perintah bitsadmin. Lebih mudah digunakan dan diingat. Ini bisa sangat berguna jika Anda menggunakannya beberapa kali dalam skrip Anda.
HARAP DICATAT ...
Sebelum menggunakan fungsi ini, Anda harus menyalinnya terlebih dahulu dari CUSTOM_FUNCTIONS.CMD ke bagian akhir skrip Anda. Ada juga contoh lengkapnya: DOWNLOAD-EXAMPLE.CMD
: DOWNLOAD_FILE "URL"
Fungsi utama, akan mendownload file dari URL.
: DOWNLOAD_PROXY_ON "SERVER: PORT"
(Opsional) Anda dapat menggunakan fungsi ini jika Anda perlu menggunakan server proxy.
Memanggil fungsi: DOWNLOAD_PROXY_OFF akan menonaktifkan server proxy.
CONTOH:
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
UNDUH-CONTOH.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