Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file Curl调用在cmd中工作,但在.bat中不工作_Batch File_Cmd_Pentaho Spoon - Fatal编程技术网

Batch file Curl调用在cmd中工作,但在.bat中不工作

Batch file Curl调用在cmd中工作,但在.bat中不工作,batch-file,cmd,pentaho-spoon,Batch File,Cmd,Pentaho Spoon,当从cmd运行时,下面的代码工作得非常好,但当从pentahodi作为bat运行时,它失败了(拒绝访问) curl -k --data "data=username%%3[DUSERNAME]%%26password%%3D[PASSWORD]%%26pid%%3D[1]%%26lid%%3D[2]" https://[...]/export/csv.php -o [...]\output.csv 有什么具体的我应该知道的吗?假设问题出在凭证部分。我通过创建外部.bat文件并使用Pentaho

当从cmd运行时,下面的代码工作得非常好,但当从pentahodi作为bat运行时,它失败了(拒绝访问)

curl -k --data "data=username%%3[DUSERNAME]%%26password%%3D[PASSWORD]%%26pid%%3D[1]%%26lid%%3D[2]" https://[...]/export/csv.php -o [...]\output.csv

有什么具体的我应该知道的吗?假设问题出在凭证部分。

我通过创建外部.bat文件并使用Pentaho的Shell函数调用它,成功地解决了这个问题。以前我在Pentaho内部实现代码(它在运行时创建temp.bat文件)。

我通过创建外部.bat文件并使用Pentaho的Shell函数调用它来修复它。以前我在Pentaho内部实现代码(它在运行时创建temp.bat文件)。

问题是
%
部分被解释为批处理文件
%1
%2

您只需将所有
%
字符加倍即可转义:

curl -k --data "data=username%%%%3[DUSERNAME]%%%%26password%%%%3D[PASSWORD]%%%%26pid%%%%3D[1]%%%%26lid%%%%3D[2]" ...

问题是
%
部分被解释为批处理文件
%1
%2

您只需将所有
%
字符加倍即可转义:

curl -k --data "data=username%%%%3[DUSERNAME]%%%%26password%%%%3D[PASSWORD]%%%%26pid%%%%3D[1]%%%%26lid%%%%3D[2]" ...