使用URL /标题文件名的PowerShell Core下载文件

汤玛斯·许贝尔鲍尔

关于如何使用PowerShell下载文件存在一些问题。我正在使用PowerShell Core,因此无法再使用我喜欢的方法:Start-BitsTransfer

我看到这个建议:

Invoke-WebRequest URL -OutFile c:\file.ext

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

Invoke-WebRequest URL独自尝试过,但这根本不存储文件。通过阅读文档,看来可能没有其他选择,对吗?PowerShell中是否有其他单行使用其原始文件名下载文件?

班德最大

没有的开关Invoke-WebRequest但是,以下代码可以在一行中从文件路径中提取名称:

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的函数。然后Split-Path -Leaf您可以使用该重定向的URL来获取所需的文件名。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章