首先要弄清楚这个问题是针对HTTP下载的。对于FTP,我可能会问(并回答)另一个问题。这是一些类似的问题-但我想更精确一些。
除了排除外部工具外,我还希望该解决方案适用于尽可能广泛的Windows计算机类型(包括XP,Win2003,Vista,它们仍然有足够的份额)。另外,作为WSH
一种可能的选择,我更喜欢不使用临时文件,而不要将所有内容打包在一个.bat
文件中(jscript和vbscript都可以)。
有什么可能的方法。
答案。所有脚本都应以.bat
/.cmd
扩展名保存,并且可以直接用作批处理脚本。
Certutuil(由于最新的win10版本中的某些原因,该路径被识别为trojan thread):
certutil.exe -urlcache -split -f“ https://download.sysinternals.com/files/PSTools.zip” pstools.zip
为了简便起见,可以使用宏:
set "download=certutil.exe -urlcache -split -f"
%download% "https://download.sysinternals.com/files/PSTools.zip" pstools.zip
可以滥用CertUtil命令从Internet下载文件。从Vista开始默认在Windows中可用。对于WinXP Server 2003管理工具是必需的。
最简单的使用方式
bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:\10mb.zip
与宏:
set "dnld=bitsadmin /transfer myDownloadJob /download /priority normal"
%dnld% "https://download.sysinternals.com/files/PSTools.zip" %cd%\pstools.zip
call bitsDownloader.bat "https://download.sysinternals.com/files/PSTools.zip" pstools.zip
call winhhtpjs.bat "https://example.com/files/some.zip" -saveTo "c:\somezip.zip"
XMLHTTPDownloadJS.bat是使用MSXML2.XMLHTTP对象下载文件的bat文件。不提供像winhhtpjs.bat这样丰富的选项,尽管仍然是一个选项:
调用XMLHTTPDownloadJS.bat“ https://download.sysinternals.com/files/PSTools.zip pst2.zip” pstools.zip
WebClientDownload.bat使用.NET System.Net.WebClient类。它会创建一个小的exe文件以进行自我编译,并且需要安装.net框架。由于该类是在.net的早期版本中提供的,因此它向后兼容
call webclientDownload.bat "https://download.sysinternals.com/files/PSTools.zip" pstools.zip
在Windows 10的最新版本中,我们具有CURL命令,尽管它不是向后兼容的选项。请注意,默认情况下,只有最新版本的Windows才安装了CURL:
curl“ https://download.sysinternals.com/files/PSTools.zip”-输出pstools.zip
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句