Đang tải xuống tệp trong PURE BATCH ...
Không có bất kỳ JScript, VBScript, Powershell, v.v. Chỉ có Batch thuần túy!
Một số người nói rằng không thể tải xuống tệp với tập lệnh hàng loạt mà không sử dụng bất kỳ JScript hoặc VBScript nào, v.v. Nhưng họ chắc chắn đã sai!
Đây là một phương pháp đơn giản có vẻ hoạt động khá tốt để tải xuống các tệp trong tập lệnh hàng loạt của bạn. Nó sẽ hoạt động trên hầu hết mọi URL của tệp. Thậm chí có thể sử dụng máy chủ proxy nếu bạn cần.
Để tải xuống tệp, chúng tôi có thể sử dụng BITSADMIN.EXE từ hệ thống Windows. Không cần tải xuống / cài đặt bất kỳ thứ gì hoặc sử dụng bất kỳ JScript hoặc VBScript nào, v.v. Bitsadmin.exe có mặt trên hầu hết các phiên bản Windows, có thể là từ XP đến Windows 10.
Thưởng thức!
SỬ DỤNG:
Bạn có thể sử dụng lệnh BITSADMIN trực tiếp, như sau:
bitsadmin /transfer mydownloadjob /download /priority FOREGROUND "http://example.com/File.zip" "C:\Downloads\File.zip"
Máy chủ proxy:
Để kết nối bằng proxy, hãy sử dụng lệnh này trước khi tải xuống.
bitsadmin /setproxysettings mydownloadjob OVERRIDE "proxy-server.com:8080" "<local>"
Nhấp vào LINK này nếu bạn muốn biết thêm thông tin về BITSadmin.exe
KHẮC PHỤC SỰ CỐ : Nếu bạn gặp lỗi này: "Không thể kết nối với BITS - 0x80070422"
Hãy đảm bảo rằng dịch vụ windows "Dịch vụ Truyền tải Thông minh Nền (BITS)" được bật và thử lại. (Nó phải được bật theo mặc định.)
CÁC CHỨC NĂNG TÙY CHỈNH
Call :DOWNLOAD_FILE "URL"
Call :DOWNLOAD_PROXY_ON "SERVER:PORT"
Call :DOWNLOAD_PROXY_OFF
Tôi đã thực hiện 3 hàm này để đơn giản hóa các lệnh bitsadmin. Nó dễ sử dụng và dễ nhớ hơn. Nó có thể đặc biệt hữu ích nếu bạn đang sử dụng nó nhiều lần trong các tập lệnh của mình.
XIN LƯU Ý ...
Trước khi sử dụng các hàm này, trước tiên bạn cần sao chép chúng từ CUSTOM_FUNCTIONS.CMD vào cuối tập lệnh của mình. Ngoài ra còn có một ví dụ hoàn chỉnh: DOWNLOAD-EXAMPLE.CMD
: DOWNLOAD_FILE "URL"
Chức năng chính, sẽ tải xuống các tệp từ URL.
: DOWNLOAD_PROXY_ON "SERVER: PORT"
(Tùy chọn) Bạn có thể sử dụng chức năng này nếu cần sử dụng máy chủ proxy.
Gọi hàm: DOWNLOAD_PROXY_OFF sẽ tắt máy chủ proxy.
THÍ DỤ:
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
TẢI XUỐNG-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