使用PowerShell从URL下载多个文件

时间:2016-08-31 19:09:47

标签: powershell scripting

我有一个由100个网址组成的文本文件。这些URL再次包含不同的安装程序文件(.exe,.msi,.bat,.txt等..)

我需要使用Invoke-WebRequest将这些文件下载到我的本地计算机上。但是如何在输出路径中未指定文件的扩展名类型的情况下载文件?

FILE.TXT:

https://foo.com/path/to/file.exe?token=ahcdj009a
https://foo.com/path/to/file.msi?token=ansjndhkg
https://foo.com/path/to/file.lpr?token=553dndgbs
https://foo.com/path/to/file.txt?token=amnewa453
...etc        

如何使用Invoke-WebRequest PowerShell命令将URL中的所有文件下载到Windows本地计算机上?

2 个答案:

答案 0 :(得分:0)

如果模式保持这种方式(。+文件扩展名+?),则可以使用这两行,而$ fileExt是文件扩展名。希望它有点帮助:))

$d -match "\.(\w+)\?"
$fileExt = $matches[1]

答案 1 :(得分:0)

你不想只使用iwr。除此之外,您还需要使用其他内容来下载文件。 Start-BitsTranfer应该可以工作。

例如,如果要下载所有链接的图像,可以尝试:

 // Error code 
 RegisterActivity reg = new RegisterActivity();
 RegisterStepTwoActivity regtwo = new RegisterStepTwoActivity();
 if (!regtwo.day.isEmpty() ...) {
    registerUser(reg.fname, reg.lname, ...);
 }