在 windows 中,PowerShell 有个很常用的内建 Cmdlet 叫做 Invoke-WebRequest,他可以帮我们发出一个 HTTP 要求,从网路上下载一个档案,有很多情况都会用到。
Invoke-WebRequest
有个很简便的别名wget
,可以缩短这个Cmdlet
命令。
PowerShell 进度条
使用 powershell 下载的过程中你会看到如下进度调显示,这是 powershell 的偏好设定变数 (Preference Variables) $ProgressPreference
,他的预设值为 continue
所导致,这个设定在 Cmdlet
执行时会预设显示进度列:
这个看起来很方便的进度条,可能造成下载档案的执行速度降低,如果想了解执行速度相关指令可以参考 Measure-Command,接着我们要将 $ProgressPreference
这个设定变数改为 SilentlyContinue
,然后重新执行 Powershell
。
SilentlyContinue 设定
首先,找到这个档案
%USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
没有这个档案的话可以自己建立一个,他的路径在 WindowsPowerShell
下,我们先切换到该目录:
cd .\Documents\WindowsPowerShell\
接着在该目录找到档案
ls
使用自己的编译器打开,这边使用 VSCode,接着加入
$ProgressPreference = 'SilentlyContinue'
如下,为了不误导,其余不相关已注解掉
最后存档,关闭 .ps1
档案,重新启动 Powershell
即可