wget with URL in Windows Batch 中的变量

wget with Variables in URL in Windows Batch

我正在尝试使用 url.

中的变量在 windows 批处理文件中使用 wget 下载文件

这是我的代码示例

set gpsweek=2202
set weekday=1
wget http://ftp.aiub.unibe.ch/CODE/COD%gpsweek%%weekday%.EPH_M

这行不通。但是

wget http://ftp.aiub.unibe.ch/CODE/COD22021.EPH_M

有效。 所以我想这与字符串有关。我尝试在字符串周围使用一些“”,但它也不起作用。

在 wget 之前我使用了 curl 并且我对参数没有任何问题。

知道我做错了什么吗?

提前谢谢你。 帕特

batch-files 中查看为什么 “不起作用” 的一个好方法是调试代码。一种方法是使用 echo。您可以简单地 echo 该行来查看结果是否符合您的预期。如果不是,那么你可以纠正它。

变量对空格敏感。我们需要确保我们不包括其中任何一个,即使是意外的。为此,只需将 set 期间的变量用双引号括起来,从变量名之前到值 set "var=value"

结束

因此,您的代码只需 运行 加上双引号即可按预期工作:

@echo off
set "gpsweek=2202"
set "weekday=1"
wget "http://ftp.aiub.unibe.ch/CODE/COD%gpsweek%%weekday%.EPH_M"
:: for debugging purposes, we echo the URL, this can be removed in production
echo "http://ftp.aiub.unibe.ch/CODE/COD%gpsweek%%weekday%.EPH_M"