批处理文件:<命令行的一部分>此时是意外的

Rus*_*her 6 batch-file

尝试在批处理文件中执行命令并将结果放入变量中.

这是我将以交互方式执行的内容:

curl -d "username=someUser" http://someServer/trusted
Run Code Online (Sandbox Code Playgroud)

结果是一个15-20个字符的字母数字字符串.

这是我在批处理文件中做同样的尝试:

FOR /f %AA IN('curl -d \"username=someUser\" http://someServer/trusted') DO ECHO %AA
Run Code Online (Sandbox Code Playgroud)

返回的错误是:

//someServer/Trusted') was unexpected at this time
Run Code Online (Sandbox Code Playgroud)

我以为我正在处理某种逃避问题,所以我在引号前添加了\符号.从我读过的内容来看,http中的symobol不需要被转义,但我觉得失败似乎是"开始"的地方.

有什么想法吗?我在Win8.1上,仅供参考

Ste*_*han 16

  1. for-variables有一个char变量(%A而不是%AA)
  2. 你错过了IN和(
  3. 在批处理文件中,您必须将for-variable的百分号加倍(%% A而不是%A)