批处理以调用Java主类
下面的批处理文件出现错误
cls
set classpath=C:\Program^ Files\salesforce.com\Data^ Loader\dataloader-29.0.0-uber.jar
set mainclass=com.salesforce.dataloader.process.ProcessRunner
set confdir=C:\Program^ Files\salesforce.com\Data^ Loader\Bkp\
if [%1]==[] goto error
call java -cp %classpath% -Dsalesforce.config.dir=%confdir% %mainclass% process.name=Product_vod__c sfdc.extractionSOQL="SELECT
Id,name FROM Product_vod__c where Id in %1"
goto end
:error
echo Error: missing date argument (must be in 'yyyy-mm-ddThh:mm:ssZ' format)
:end
错误
Could not find or load main class Files\salesforce.com\Data
有人能告诉我这个问题吗? 谢谢
# 1 楼答案
在类路径的某个地方有一个未被替换的
Program Files
,它的空格打断了classpath参数:类路径在Program
处停止,java将以下Files\salesforce.com\Data
解析为它应该执行的类应该用双引号将包含空格的类路径片段括起来