相关疑难解决方法(0)

如何在不使用任何外部工具的情况下下载包含批处理文件的文件?

首先澄清这个问题的目的是HTTP(s)下载.对于FTP,我可能会问(并回答)另一个问题.以下是一些类似的问题 - 但我希望更加准确.

除了排除外部工具,我希望解决方案适用于最广泛类型的Windows机器(包括仍然有足够大份额的XP,Win2003,Vista).另外,作为WSH可能的选项之一,我不喜欢使用临时文件和所有要打包在单个.bat文件中的东西(jscript和vbscript都可以).

什么是可能的方法.

  1. 使用BITSADMIN的 "纯"批处理解决方案- 每台Windows机器上都有一个命令行实用程序.它不是很方便,但它是唯一一个不应该使用其他脚本语言的选项.
  2. 使用WSH - 可能有三种方法 - WinHTTP,MSXML2.XMLHTTP ,InternetExlorer.Application - 它们都是可访问的ActiveX对象,按照我喜欢的顺序排列.WinHTTP和MSXML2.XMLHTTP的功能非常相似,但WinHTTP的声誉是更稳定.InternetExlorer.Application实际上只是可以通过ActiveX对象访问的Internet Explorer,一些UI元素是不可避免的(是吗?)所以我会跳过这个.
  3. 使用.NET - 可以使用Jscript.net创建一个包含所有三个默认.NET编译器(Jscript.net,VB.Net,C#)的混合批处理文件,没有冗余错误消息,所以我更喜欢它.如果我们忽略这样一个事实,即编译的.exe所有代码都在一个文件中,所以根据我的说法,这符合要求:-).使用.NET我们可以使用System.Net.WebClient或System.Net.HttpWebRequest(WebClient)依赖它)或
    System.Web.HttpRequest,但是现在我只发布System.Net.WebClient解决方案.这里也可以使用WSH访问更多相同的ActiveX对象.所以有很多方法可以下载文件与.Net.May将来我会更新我的答案.无论如何只有Webclient是专门为下载而设计的.
  4. 使用powershell - 与.NET具有相同的可能性,但是你可以在所有机器上安装的机会较少.所以我也会跳过这个.

.net wsh batch-file jscript

17
推荐指数
1
解决办法
3万
查看次数

标签 统计

.net ×1

batch-file ×1

jscript ×1

wsh ×1