我尝试了很多在线示例,但无法使其正常工作。由于我是新手,请原谅我的初级问题。
假设我有以下内容:
curl "www.google.com" -o /dev/null -s -w "%{http_code}\n"
在CMD窗口中运行此命令,会返回响应代码。
200
这是预期的结果。
我希望能在批处理脚本中执行类似以下操作,同时使用curl命令的输出来设置一个变量。 我在网上找到的所有示例都是这样的:
set res = $(curl "www.google.com" -o /dev/null -s -w "%{http_code}\n")
echo %res%
pause
or like this
FOR /F "tokens=* USEBACKQ" %%F IN (`curl www.google.com -o /dev/null -s -w "%{http_code}\n"`) DO ( SET var=%%F )
ECHO %var%
pause
两种方法都没有奏效,我的批处理脚本会立即关闭。
非常感谢任何反馈或帮助。 谢谢。
For /F %G In ('%__AppDir__%curl.exe -s -o NUL "https://www.google.com" -w "%{http_code}\n"') Do @Set "var=%G"
。如果要在批处理文件中执行此操作,则可以使用for
命令帮助信息中的建议for /?
,该信息指出“要在批处理程序中使用FOR命令,请指定%%variable而不是%variable。”,您应该这样做:@For /F %%G In ('%__AppDir__%curl.exe -s -o NUL "https://www.google.com" -w "%%{http_code}\n"') Do @Set "var=%%G"
。_注意:我不建议出于任何原因使用此域名_。 - undefined%
符号在{http_code}
前面需要通过加倍来转义,就像%%{http_code}
这样... - undefined