使用curl http发送多个文件fropm一个bat文件

时间:2015-10-02 11:21:41

标签: batch-file curl

我有一个包含此文件的bat文件:

int main(int argc, char *argv[])
{
    Application a(argc, argv);

    CALLGRIND_START_INSTRUMENTATION;
    int result = a.exec();
    CALLGRIND_STOP_INSTRUMENTATION;
    CALLGRIND_DUMP_STATS;
    return result;
}

它不起作用。我有多个xmls,我需要发布bat文件计划在创建xml文件后运行。所有登录信息都在xml文件的标题中。如果我从命令提示符运行它,它工作正常:

For %%f in (D:\OrderUploads\company\xmls\*.xml') do curl --form upload=@D:\OrderUploads\company\xmls\%%f --form press=OK http://gateway.companyname.com:5400/companyGateway

1 个答案:

答案 0 :(得分:3)

如果您运行For %%f in (D:\OrderUploads\company\xmls\*.xml') do echo %%f,您会看到%%f变量已包含D:\OrderUploads\company\xmls\dt.xml等完整路径,因此只需在curl命令行中不指定路径:

For %%f in (D:\OrderUploads\company\xmls\*.xml) do (
  curl --form upload=@%%f --form press=OK http://gateway.companyname.com:5400/companyGateway
)

或者,您可以使用%%~ prefix提取drive:\path\name.ext的任何部分,例如%%~nxf