Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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
Java 使用Talend TSSystem运行powershell命令_Java_Talend - Fatal编程技术网

Java 使用Talend TSSystem运行powershell命令

Java 使用Talend TSSystem运行powershell命令,java,talend,Java,Talend,我需要上传一个文件到一个网站。我正在使用Talend TSSystem组件来做同样的事情。我需要通过PowerShell运行。语句用escape出错 下面是我正在使用的命令。出现转义字符错误 请告诉我哪里出了问题 "cmd /c start powershell -noninteractive C:\\Curl_windows\\src\\curl.exe -H 'X-API-TOKEN:ZLQuFZWY5zekZd' -F 'surveyId=SV_8dpoD2nJ3' -F 'file=@

我需要上传一个文件到一个网站。我正在使用Talend TSSystem组件来做同样的事情。我需要通过PowerShell运行。语句用escape出错

下面是我正在使用的命令。出现转义字符错误 请告诉我哪里出了问题

 "cmd /c start powershell -noninteractive C:\\Curl_windows\\src\\curl.exe -H 'X-API-TOKEN:ZLQuFZWY5zekZd' -F 'surveyId=SV_8dpoD2nJ3' -F 'file=@C:\\Logs\\surveyresponseimport.csv;type=text/csv' 'https:\/\/xxx.com\/API\/v3\/responseimports'"

这似乎是字符串这一部分的Java异常:

'https:\/\/xxx.com\/API\/v3\/responseimports'
你还没有逃过反斜杠。正斜杠
/
在Java中不是可转义字符,因此在字符串中写入
\/
会引发异常。更新后的Java字符串应如下所示:

"cmd /c start powershell -noninteractive C:\\Curl_windows\\src\\curl.exe -H 'X-API-TOKEN:ZLQuFZWY5zekZd' -F 'surveyId=SV_8dpoD2nJ3' -F 'file=@C:\\Logs\\surveyresponseimport.csv;type=text/csv' 'https:\\/\\/xxx.com\\/API\\/v3\\/responseimports'"

虽然我不知道你为什么写这样的字符串。Powershell不需要转义斜杠,Java只需要转义反斜杠
\
。您可以尝试从字符串的该部分删除所有反斜杠,并检查这是否足够。

尝试转义反斜杠:every\before\\n转义反斜杠后是否仍有错误?如果是这样,你能用错误更新你的问题吗?你为什么不使用tFileFetch上传文件?太好了。如果这个或任何答案已经解决了你的问题,请考虑通过点击复选标记接受它。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。没有义务这样做。