从c#应用程序调用运行文件时出现问题

从c#应用程序调用运行文件时出现问题,c#,batch-file,C#,Batch File,我正在使用一个C#应用程序调用一个批处理文件,该批处理文件编译并运行一个java程序。(这是一个从网站抓取内容的scraper项目。)批处理文件由以下命令组成: java-classpath core.jar;mysql.jar;realtouch.jar;com.parser.MainClass:/wamp/www/C21\u real2/propertieshttp://www.realestate.com.au/realestate/agent/century+21+港湾+中立+海湾/tz

我正在使用一个C#应用程序调用一个批处理文件,该批处理文件编译并运行一个java程序。(这是一个从网站抓取内容的scraper项目。)批处理文件由以下命令组成:

java-classpath core.jar;mysql.jar;realtouch.jar;com.parser.MainClass:/wamp/www/C21\u real2/propertieshttp://www.realestate.com.au/realestate/agent/century+21+港湾+中立+海湾/tzrjnd

当我转到文件夹并双击批处理文件时,该批处理文件工作正常。但是,当我使用
System.Diagnostics.Process
通过我的应用程序调用此运行文件时,它会显示:

找不到主类com.parser.MainClass。程序将立即退出

命令窗口将在几秒钟内退出

我从C#调用该程序,如下所示:

    Process batch = new Process();

    string pathtoRunFile="E:\\newFiles\\run.bat";

    batch.StartInfo.FileName = PathtoRunFile;
    batch.StartInfo.Arguments = "";

    batch.StartInfo.UseShellExecute = true;
    batch.Start();

    batch.WaitForExit();
请尽快有人来帮我。当我从我的应用程序调用它时,我真的很困惑为什么它不起作用。我不是一个Java开发人员。这是我的主Java程序的问题吗?如果是,如何解决这个问题?我需要的是从我的C#应用程序运行批处理文件

newfiles
文件夹的结构如下:(仅包含文件)

  • core.jar
  • mysql.jar
  • realtouch.jar
  • 跑吧,蝙蝠

设置工作目录:

batch.StartInfo.WorkingDirectory = "E:\\newFiles";

这可能是一个路径问题—调用程序的程序在目录树中的当前目录位置与批处理文件的位置之间存在差异

要进行测试,请打开一个命令提示符,确保您不在e:\newFiles中,然后运行e:\newFiles\run.bat-我希望它也会以同样的方式失败


要修复此问题,您需要a)将路径添加到“com.parser.MainClass”或b)在C#应用程序中设置当前目录。

您可能需要将newFiles文件夹设置为当前目录,以便java vm可以找到您的文件。尝试将其添加到批处理文件:

E:
cd E:\newFiles\