所以我有这段代码:
set /p RE_=<u.txt & curl -d data=%RE_% -d pc=%USERDOMAIN% -d user=%USERNAME% https://somewebsite.com
它只是不起作用。 我不知道为什么。 这是我得到的结果: 桌面nktfh%RE _%
答案 0 :(得分:0)
cmd
解释器对复合语句的求值方法与对括号代码块的求值方法相同。如果有:
command1 args & command2 args
...在执行命令之前,将扩展整行中的所有变量。因此,如果您这样做...
set "var1=value" & echo The value of var1 is %var1%
...在%var1%
展开时您会看到,它还没有值。您应该将curl
命令移至新行,或使用延迟扩展。有关更多信息,请参见cmd控制台中的setlocal /?
和set /?
,尤其是set /?
开头的部分,“最后,已添加了对延迟的环境变量扩展的支持。”