尝试使用PowerShell从weblink下载zip文件

时间:2013-11-13 17:27:48

标签: powershell powershell-v3.0

好的,我正在尝试从与PowerShell一起使用的网络链接下载文件。我正在下载一个zip文件,其中名称的开头始终相同,但中间部分将根据zip的版本号进行更改。当我使用完全限定的Web地址并将文件名硬编码到脚本中时,我能够获取要下载的文件。我已经尝试使用通配符的每个版本来获取所有最常见的zip版本,但它错误地说它无法在服务器上找到该文件。这是我已经拥有的代码,任何帮助都会受到极大的赞赏,因为我觉得我已经在墙上了。

$url = 'http://blah/blah/blah/My File Name 11.1111.11.zip'
$localFileName = 'C:\temp\MYzip.zip'

Invoke-WebRequest $url -UseDefaultCredentials -OutFile $localFileName

1 个答案:

答案 0 :(得分:4)

如果网站启用了目录浏览(除非您拥有对网站的控制权并且可以将其打开),否则您可以执行以下操作:

$url = 'http://blah/blah/blah/'
$wr = iwr $url
$filename = $wr.Links.href | Where {$_ -match 'My File Name.*?\.zip'}
$wr = iwr "$url/$filename"

如果网站没有启用目录浏览,那么它肯定有一个页面,上面有ZIP文件的链接。下载该页面并使用相同的$wr.Links.href技巧获取所有链接,并查找与“我的文件名。*?。zip”匹配的链接。