如何在批处理文件中传递参数

时间:2014-02-27 15:31:17

标签: batch-file curl cmd

我有一个vbs文件,它将3个参数传递给test.bat。

参数如下

test.bat "zz\zz\xyz" "Messagename" "Link"

批次代码是

@ECHO OFF
Echo %1
Echo %2
Echo %3
H:
cd "%1"

SET i=1
for %%f in (Plaintext*.xml) do call :CURL "%%f"
GOTO DONE

:CURL
Echo Success
PAUSE:
curl -X POST  --insecure --data-urlencode xmlInput@Plaintext%i%.xml "%2" >>"%3" 2>&1
PAUSE:
set /A i+=1

:DONE

PAUSE:

问题: 由于参数未正确传递,curl命令失败。但是当在ECHO中捕获参数时,一切看起来都没问题。不知道问题出在哪里。你能帮忙吗?

1 个答案:

答案 0 :(得分:1)

您只是将文件名传递给:CURL函数。您还需要传递其他参数。

 for %%f in (Plaintext*.xml) do call :CURL "%%f" "%~2" "%~3"
 Goto Done

 :CURL
 Echo Success
 Pause

 curl -X POST  --insecure --data-urlencode xmlInput@%~1 "%~2" >>"%~3" 2>&1