windows wget 不下载文件但在浏览器中下载

windows wget not downloading file but does in a browser

我正在尝试使用 wget(windows 命令行端口)下载文件,但出现此错误..

--2016-12-06 12:36:11--  https://download.microsoft.com/download/E/A/E/EAE6F7FC-767A-4038-A954-49B8B05D04EB/ExpressAdv064BIT/SQLEXPRADV_x64_ENU.exe
Resolving download.microsoft.com (download.microsoft.com)... 23.209.210.127
Connecting to download.microsoft.com (download.microsoft.com)|23.209.210.127|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-12-06 12:36:12 ERROR 404: Not Found.

使用相同的命令可以正常下载其他文件...

这是我试过的

"%~dp0wget" -c --show-progress --progress=bar:force:noscroll --no-check-certificate "https://download.microsoft.com/download/E/A/E/EAE6F7FC-767A-4038-A954-49B8B05D04EB/ExpressAdv%2064BIT/SQLEXPRADV_x64_ENU.exe" -P C:\Temp

..和..

"%~dp0wget" -c --show-progress --progress=bar:force:noscroll --no-check-certificate https://download.microsoft.com/download/E/A/E/EAE6F7FC-767A-4038-A954-49B8B05D04EB/ExpressAdv%2064BIT/SQLEXPRADV_x64_ENU.exe -P C:\Temp

我希望这是处理 link 中的 % 的报价问题,但没有成功。我也试过单引号,并在 % 前面放一个 \ 来转义字符。

总是同样的错误。我想知道这个站点上的 wget 请求是否有一些服务器端限制。我可以绕过它吗?也许我需要一些其他开关?提前致谢。

您的命令仅在 cmd 中 运行 时有效,但由于您是从批处理文件中 运行 执行此操作,因此您需要通过将百分号加倍来​​转义它, 即: %%%

这给出:

"%~dp0wget" -c --show-progress --progress=bar:force:noscroll --no-check-certificate "https://download.microsoft.com/download/E/A/E/EAE6F7FC-767A-4038-A954-49B8B05D04EB/ExpressAdv%%2064BIT/SQLEXPRADV_x64_ENU.exe" -P C:\Temp

引用ss64.com:

Many characters such as \ = ( ) do not need to be escaped when they are used within a "quoted string" typically these are charcters you might find in a filename/path. The percent character is one exception to this rule, even though under NTFS % is a valid filename character.