กำลังดาวน์โหลดไฟล์ใน PURE BATCH ...
ไม่มี JScript, VBScript, Powershell และอื่น ๆ ... เฉพาะ Batch ที่บริสุทธิ์เท่านั้น!
บางคนบอกว่าไม่สามารถดาวน์โหลดไฟล์ด้วย batch script ได้โดยไม่ต้องใช้ JScript หรือ VBScript และอื่น ๆ ... แต่พวกมันผิดแน่นอน!
นี่คือวิธีง่ายๆที่ดูเหมือนจะใช้ได้ดีสำหรับการดาวน์โหลดไฟล์ในสคริปต์แบตช์ของคุณ ควรใช้งานได้กับ URL ของไฟล์เกือบทุกประเภท เป็นไปได้ที่จะใช้พร็อกซีเซิร์ฟเวอร์หากคุณต้องการ
สำหรับการดาวน์โหลดไฟล์เราสามารถใช้BITSADMIN.EXEจากระบบ Windows ไม่จำเป็นต้องดาวน์โหลด / ติดตั้งอะไรหรือใช้ JScript หรือ VBScript ใด ๆ เป็นต้นBitsadmin.exeมีอยู่ใน Windows เกือบทุกรุ่นอาจใช้ตั้งแต่ XP ถึง Windows 10
สนุก!
การใช้:
คุณสามารถใช้คำสั่ง 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>"
คลิกที่นี่LINKถ้าคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับ BITSadmin.exe
การแก้ไขปัญหา:
หากคุณได้รับข้อผิดพลาดนี้: "ไม่สามารถเชื่อมต่อกับ BITS - 0x80070422"
ตรวจสอบว่าได้เปิดใช้บริการ windows "Background Intelligent Transfer Service (BITS)" แล้วลองอีกครั้ง (ควรเปิดใช้งานตามค่าเริ่มต้น)
ฟังก์ชั่นที่กำหนดเอง
Call :DOWNLOAD_FILE "URL"
Call :DOWNLOAD_PROXY_ON "SERVER:PORT"
Call :DOWNLOAD_PROXY_OFF
ฉันสร้าง 3 ฟังก์ชันนี้เพื่อลดความซับซ้อนของคำสั่ง bitsadmin ใช้งานและจดจำได้ง่ายขึ้น จะมีประโยชน์อย่างยิ่งหากคุณใช้งานหลายครั้งในสคริปต์ของคุณ
โปรดทราบ ...
ก่อนที่จะใช้ฟังก์ชันเหล่านี้คุณจะต้องคัดลอกจาก 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
ดาวน์โหลด 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