使用 PowerShell 下载文件
- Invoke-WebRequest
- 例子
- 优点
- 缺点
- System.Net.WebClient
- 例子
- 优点
- 缺点
- Start-BitsTransfer
- 例子
- 优点
- 缺点
Invoke-WebRequest
例子
Invoke-WebRequest -Uri "http://xxxx/test.txt" -OutFile "D:/test.txt"
优点
容易上手,可以很方便看到当前下载进度
缺点
使用这个命令下载速度很慢。其原理是,将请求到的流全部缓存到内存中,当传输完毕后,才一次性从内存转移到硬盘中。
System.Net.WebClient
该方法使用的是 .Net 框架中的 System.Net.WebClient 类
例子
$client = [System.Net.WebClient]::new()$client.DownloadFile("http://xxxx/test.txt", "D:/test.txt")
优点
容易上手,且下载速度快,该库还提供了很多便利的方法供调用,比如 DownloadFileAsync()
缺点
下载过程没有进度条
Start-BitsTransfer
例子
Start-BitsTransfer -Source "http://xxxx/test.txt" -Destination "D:/test.txt"
优点
容易上手,可以很方便看到当前下载进度,且可以使用异步方法下载,且在失败时会进行重试,还可限制传输的带宽量
缺点
下载速度慢