PowerShell 下载文件

最早在一个自动化脚本中需要从微软官网上下载一个Office365 的 PowerShell Module 安装包,使用的是WebClient下载文件,但是在PowerShell 3.0 中,有一条非常有用的命令,Invoke-WebRequest,我们可以使用它从互联网上下载文件。其实内部实现极有可能也是调用WebClient。

作为用户,我们只需要像Copy-item一样,指定原路径和目标路径。实例如下:

1
2
3
4
$src = 'https://www.2mysite.net/index.php'
$des = "$env:temp\index.php"
Invoke-WebRequest -uri $src -OutFile $des
Unblock-File $des

因为下载的文件会被Windows锁定,PowerShell 3.0 同时还有一个新命令可以给文件解锁。如何你要访问的文件需要身份验证,或者代理服务器。请继续参考Invoke-WebRequest的其他参数。
还有一点也是值得惊喜的,就是在下载文件时,PowerShell控制台会以进度条的形式显示文件传输的当前状态!

发表评论