Powershell下载文件的三种方法

本文介绍了使用PowerShell下载文件的三种方法:Invoke-WebRequest,WebClient对象和BitsTransfer模块。Invoke-WebRequest适用于简单爬虫,但不适合大文件下载;WebClient对象下载速度快,但无进度显示;BitsTransfer模块则支持异步下载和带宽管理,是推荐的下载方式。
摘要由CSDN通过智能技术生成

Powershell下载文件的三种方法


layout: post
title: Powershell下载文件的三种方法
date: 2021-09-29
tags: [“BitsTransfer”,“download”,“powershell”,“powershell”,“计算机技术”]


使用powershell不借助第三方软件下载文件(据我所知)有三种方法:Invoke-WebRequest, System.Net.WebClient, Start-BitsTransfer.

Invoke-WebRequest

Invoke-WebRequest -Uri "<File URL>" -OutFile "<File Name>"
#吐槽一下这个Uri参数,不应该是Url吗?
#该参数有几个别名,wget、iwr、curl,但在pwsh7.0后wget和curl被取消了,可能开发者也觉得这样凑热度不太好。
iwr -Uri "<File URL>" -OutFile "<File Name>"

这个命令本来是用于发起web请求的,用OutFile参数将响应保存下来就能实现文件的下载。

不过这个命令下载文件时先将数据存在内存里,全部下载完成后才会写入磁盘,因此下载大文件时容易炸内存。

值得一提的是该命令返回的对象是经过解析的Microsoft.PowerShell.Commands.WebResponseObject对象,可以直接读出页面中的内容,所以可以用来写一个简单的爬虫。

PS> $bingImageSearch = Invoke-WebRequest -Uri "https://cn.bing.com/images/search?q=cats&first=1&tsc=ImageBasicHover"
PS> $bingImageSearch.Images | select class,alt,src                                                          

class              alt             src
-----              ---             ---
id_avatar sw_spd   个人资料图片    
Microsoft Windows PowerShell 是一种新的命令行外壳和脚本语言,用于进行系统治理和自动化。Windows PowerShell 建立在 .NET Framework 的基础上,IT 专业人员可通过命令或脚本来治理计算机,从而通过系统自动化来提高工作效率。 Windows PowerShell 包括: * 129 个命令行工具(称为“cmdlet”),用于执行常见系统治理任务,如治理服务、进程、事件日志、证书、注册表以及使用 Windows Management Instrumentation (WMI)。 * 采用标准命名约定和通用参数的命令行工具,易于把握和使用;以及用于对数据和对象进行排序、筛选以及格式设置的简便工具。 * 对现有脚本语言、现有命令行工具以及多种 Windows 版本的支持,其中包括 Windows XP、Windows Server 2003、Windows Vista 以及 Windows Server(代码名称为“Longhorn”)。 * 方便的功能,使用户能够浏览数据存储(如注册表和证书存储),就像面对文件系统一样。 * 用于治理位于不同存储中以及采用不同格式的 Windows 数据的标准实用程序,这些数据包括 Active Directory (ADSI)、Windows Management Instrumentation (WMI)、组件对象模型 (COM) 对象、ActiveX 数据对象 (ADO)、HTML 和 XML。 * 在命令行进行的高级表达式分析和 .NET 对象处理,其中包括对对象进行流水线处理以帮助提高 IT 专业人员的工作效率。 * 可扩展的接口,使独立软件供给商和企业开发人员能够构建自定义 cmdlet 以满足特有的应用程序和系统治理要求。 安装本更新程序后,可能需要重新启动计算机。我们根据 Windows Vista 许可条款向您提供本更新程序并授予您使用许可。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值