【发布时间】:2016-06-09 20:12:19
【问题描述】:
问题的核心:我正在尝试使用 VBScript 下载一个 650mb 的文件。任何超过 500mb 的文件都会失败并出现以下错误...
Error: Not enough storage is available to complete this operation
Code: 8007000E
Source: msxml3.dll
Source: WinHttp.WinHttpRequest
我正在使用代码from here,MSXML.XMLHTTP 和 WinHTTP(不是 wget)。我可以在任务管理器中观看的两个脚本都构建到刚刚超过 650mb,然后因上述错误而失败。脚本可以工作,如果我选择较小的文件,下载就可以了。
错误消息中引用的行都是.Write objHTTP.responseBody。
我发现其他一些人也遇到了同样的问题,虽然似乎没有很多人试图用 vbscript 下载巨大的文件......我无法想象为什么。
我知道这不是空间问题(我有足够的硬盘空间),也不是内存问题(我有 4gb,物理内存在峰值时显示大约 70%)。我还尝试在使用 WinHTTP 时将 SetTimeouts 选项设置为详细的here(我什至将它们全部设置为 -1,无限超时),并尝试使用允许 SetTimeouts 的 MSXML.ServerXMLHTTP,两者都不行
背景: 我正在尝试编写一个 vbscript 来为大量用户自动下载和安装一套软件。因为它将分发给很多人,所以我想在 Windows 中本地进行,因为我不知道他们可能拥有或不拥有哪些其他软件。这极大地限制了我的选择。 Powershell 策略设置为受限,所以我不能在其他计算机上使用它,而不是详细说明如何为他们重置它,这违背了应该为非技术用户做所有事情的脚本的目的。这几乎留下了vbscript。
如果没有其他方法可以做到这一点,那么我的下一步可能是自动下载和安装较小的文件,例如 wget,然后使用它来下载较大的文件。不过,我还是想用最少的本机软件来做到这一点。看起来这应该是可能的,但我找不到解决方案。
编辑:作为新用户,我不能发布超过 2 个链接,所以你只需要相信我的话,我发现其他人有这个问题,但他们的线程没有答案(这里或其他任何地方)。
【问题讨论】: