我正在尝试使用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
我希望这是一个报价问题来处理链接中的%,但没有运气。我也尝试过单引号,并在%的前面放置以逃避角色。
总是一样的错误。我想知道这个网站上的wget请求是否存在服务器端限制。我可以绕过吗?也许我需要一些其他开关?提前致谢。
答案 0 :(得分:2)
只需从cmd
运行即可运行您的命令,但由于您是在批处理文件中运行此命令,因此需要通过加倍百分号来转义百分号,即:%
→{{ 1}}
这给出了:
%%
引用ss64.com:
许多字符(如\ =())不需要转义 在“引用字符串”中使用,通常这些都是你的字符 可能会在文件名/路径中找到。百分比字符是一个例外 根据这条规则,即使在NTFS%下,它也是一个有效的文件名字符。