尝试下载文件时出现wget错误

时间:2018-04-21 08:42:59

标签: powershell web wget

我正在尝试使用 wget 从网站下载文件,我尝试了在网上找到的这个命令:

wget -r -l1 -H -t1 -nd -N -np -A.zip -erobots=off https://website.name/mydownloads.php

我在我的一个文件夹中启动并在那里使用了命令,但它返回:

Invoke-WebRequest : Cannot bind parameter 'Headers'. Cannot convert the "-t1" value of type "System.String" to type "Sy
stem.Collections.IDictionary".
At line:1 char:13
+ wget -r -l1 -H -t1 -nd -N -np -A.zip -erobots=off https://website.na ...
+             ~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

这是因为我没有正确安装 wget ,还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

您提供的命令是wget.exe命令,而不是PowerShell'wget'命令。

PowerShell为Invoke-WebRequest定义一个别名wget,所以如果你的系统上有wget.exe,你仍然需要输入路径或至少.exe扩展名来绕过别名:

wget.exe -r -l1 -H -t1 -nd -N -np -A.zip -erobots=off https://website.name/mydownloads.php

OR

C:\PathTOwget\wget -r -l1 -H -t1 -nd -N -np -A.zip -erobots=off https://website.name/mydownloads.php

您可以在此处获取适用于Windows的Gnu wget.exe:

http://gnuwin32.sourceforge.net/packages/wget.htm

你可以通过大量单字母交换机最容易地判断这是一个wget.exe示例,但最明确的是交换机带有= off和PowerShell不使用的一起运行.zip开关(对我来说也是如此,多年使用wget.exe程序)。

或者,您可以尝试将其转换为PowerShell invoke-webrequest,但其中一些交换机在Invoke-WebRequest中没有直接模拟。