PowerShell 下载文件
用户可以从有重要数据的网站下载 CSV 文件,通常是带有统计信息的大文件。例如,下面的公开链接可让你下载新西兰政府 2021 年年度企业调查的 CSV 文件。我们将在本文中使用以下 CSV 文件 URL 来演示如何通过 Windows PowerShell 命令执行类似的功能。
https://www.stats.govt.nz/assets/Uploads/Annual-enterprise-survey/Annual-enterprise-survey-2020-financial-year-provisional/Download-data/annual-enterprise-survey-2020-financial-year-provisional-csv.csv
Windows PowerShell 是一种脚本解决方案,在命令行指令上运行,为 Windows 用户提供类似于基于命令行的类 Unix 系统的灵活性。此外,Mac 用户可以使用 PowerShell 版本(命令的使用与 Windows 略有不同)。
在普通的网络浏览器中,URL 直接将 CSV 文件下载到用户指定的下载文件夹中,没有任何问题。当你尝试在 PowerShell 中下载相同的 CSV 时,需要某些命令。
通过 Windows PowerShell 下载文件
可用于通过 Windows PowerShell 下载文件的基本命令是 Invoke-WebRequest
。
通过这个命令,一个 Web 请求 PowerShell 发起一个 Web 请求。然后提供所需的 URL。
这里要注意的重要一点是需要一个输出文件来保存从 Web 请求中检索到的数据。你应该首先创建要从中下载数据的文件类型的文件类型。根据我们的要求,我们创建一个 .csv 类型的文件来保存通过上述 URL 的 Web 请求传递的数据。
有必要记住,不仅 CSV,其他文件类型也可以通过这种方式下载。
在 PowerShell 中使用 Invoke-WebRequest
下载 CSV 文件
然后可以按以下方式使用 Invoke-WebRequest
。
Invoke-WebRequest URL -OutFile File_path
在这里,-OutFile
将是从在线 CSV 文件中保存数据的文件。
下面显示了我们的示例 URL 的完整执行。
Invoke-WebRequest https://www.stats.govt.nz/assets/Uploads/Annual-enterprise-survey/Annual-enterprise-survey-2020-financial-year-provisional/Download-data/annual-enterprise-survey-2020-financial-year-provisional-csv.csv -OutFile .\SaveCSV.csv
作为 PowerShell 中的输出,你会看到以下脚本一直在运行,直到操作完成。
Writing web request
Writing request stream... (Number of bytes written: 33451654)
上述执行的输出类似于你将直接下载的文件。
然而,使用这个 Invoke-WebRequest
有一些限制。当网站需要简单的基于密码的身份验证时,需要包含你的登录详细信息和 Invoke-WebRequest
。
Invoke-WebRequest URL -Add your lgin information- -SessionVariable MyNewSession
当你运行上述流直到下载完成时,你将看到以下脚本正在运行。
Writing web request Writing request stream... (Number of bytes written: 1474178)
然后它将为你创建一个网络会话并下载所需的文件。它将采用 .cs 格式,你可以将其更改为 .csv 格式,以使其可用于任何 .csv 可读应用程序。
但是,如果你的网站需要双因素身份验证或任何其他多因素身份验证系统,那么按照此处所示启动 Web 会话会很麻烦。因此,建议使用个人链接(Personal cloud link - private access)通过 PowerShell 下载文件。
因此,你可以通过上述这些命令通过 PowerShell 轻松下载 CSV 或其他文件类型。正如所解释的,它可以是你提供的输出文件,如果考虑到正确的格式,它将易于使用,或者下载文件并将它转换为可读格式。
相关文章
获取 PowerShell 脚本的当前位置
发布时间:2024/02/29 浏览次数:67 分类:编程语言
-
本文将讨论如何在不同版本的 PowerShell 脚本环境中获取 PowerShell 脚本的当前位置。
在 Windows PowerShell 中终止脚本
发布时间:2024/02/29 浏览次数:91 分类:编程语言
-
本文将列举几种在 Windows PowerShell 中终止脚本的方法。本文将解释和定义所有几个命令,并引用示例脚本块来说明在何处使用它们。