Batch file curl-在url批处理编程中添加变量

Batch file curl-在url批处理编程中添加变量,batch-file,curl,cmd,Batch File,Curl,Cmd,我有一个批处理文件,其中有一个以YYYYMMDD-20160403格式打印日期的变量 for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j set ldt=%ldt:~0,4%%ldt:~4,2%%ldt:~6,2% echo Local date is %ldt% 然后我下载

我有一个批处理文件,其中有一个以YYYYMMDD-20160403格式打印日期的变量

for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j
set ldt=%ldt:~0,4%%ldt:~4,2%%ldt:~6,2%
echo Local date is %ldt%
然后我下载一个文件,它的日期是url的结尾

curl "http://www.example.com/cgi-bin/abc.xyz/%ldt%.txt" -o file-name-%ldt%.txt
其中%ldt%的日期为例如:20160403

但现在我无法打印日期。任何建议?

%date%是windows内部变量。覆盖它是不明智的。使用另一个变量名,例如%myDate%


顺便说一句:您可以通过删除来还原原始windows变量:set date=

获取ldt的方法太复杂了:for/f tokens=2 delims==%%i在“wmic os get localdatetime/value”中,do set ldt=%i和set ldt=%ldt:~0,8%就足够了。我想您发布的块嵌入到了一个更大的块中,因此需要延迟膨胀正在访问在用定义的块中修改或定义的环境变量。。。必须使用延迟扩展来完成。读取或打开命令提示窗口,运行set/?阅读输出帮助,解释IF和a的延迟扩展。我很抱歉,这让我头晕目眩。难道没有一个简单的解决办法吗?我只想将%ldt%中的值打印到url的末尾,就这样。我不确定这是否解决了我的问题。我没有名为%date%的变量我的日期存储在%ldt%中。问题不在于变量。我无法打印URL中的日期来下载它