正在以 PURE BATCH 格式下载文件...
没有任何 JScript、VBScript、Powershell 等...只有纯 Batch!
有些人说不使用任何 JScript 或 VBScript 等就无法使用批处理脚本下载文件……但他们肯定错了!
这是一个简单的方法,似乎非常适合在批处理脚本中下载文件。它应该适用于几乎任何文件的 URL。如果需要,甚至可以使用代理服务器。
下载文件,我们可以使用Windows系统的BITSADMIN.EXE。无需下载/安装任何东西或使用任何 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"
如果您想了解有关 BITSadmin.exe 的更多信息,请单击此LINK
疑难解答:
如果您收到此错误:“无法连接到 BITS - 0x80070422”
确保启用了 Windows 服务“后台智能传输服务 (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 下载文件。
: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
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
GOTO :EOF
:DOWNLOAD_PROXY_OFF
rem FUNCTION FOR STOP USING A PROXY SERVER:
bitsadmin /setproxysettings mydownloadjob NO_PROXY
GOTO :EOF