首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用PowerShell /headers文件名的核心下载文件

使用PowerShell /headers文件名的核心下载文件
EN

Stack Overflow用户
提问于 2019-12-06 18:53:22
回答 1查看 878关注 0票数 1

关于如何使用PowerShell下载文件,有几个问题浮在脑后。我正在使用PowerShell核心,所以我不能再使用我最喜欢的方法了:Start-BitsTransfer

我认为这是建议:

代码语言:javascript
复制
Invoke-WebRequest URL -OutFile c:\file.ext

但是,必须给出文件名似乎不太理想。PowerShell/iwr可以根据URL路径或响应头猜出文件名吗?

我单独尝试了Invoke-WebRequest URL,但这根本不存储文件。从阅读医生们看,似乎没有选择,对吗?在PowerShell中是否有不同的一行程序来下载使用原始文件名的文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-06 19:00:48

Invoke-WebRequest没有开关。但是,下面的代码可以在一行中从filepath中提取名称:

代码语言:javascript
复制
Invoke-WebRequest $URL -OutFile "C:\$(Split-Path -Leaf $URL)"

Split-Path将选择一个路径并返回带有-Parent参数的父容器的完整路径,或者返回带有-Leaf参数结尾的文件/目录的名称。

但是,只有当文件名是URL的一部分时,这才有效。例如,如果您有类似于http://server.domain.tld/download.php?id=12345的内容,输出文件最终将是download.php?id=12345。它不是一行,而是@Theo 分享答案在他的评论中定义了一个函数来获得重定向的URL。然后,您可以在重定向URL上使用Split-Path -Leaf来获得所需的文件名。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59218767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档