开发者

batch file execution in c#

I am running a Java batch file from C#. If I run it by double clicking it executes successfully, but if I run it from C# code it gives exception in thread

"exception in "main" thread java.lang.noclassdeffoundError"..

what can be the reason and how can it be solved? I am using the code:

var si = new ProcessStartInfo();

si.CreateNoWindow = true;
si.FileName = "batch-file pa开发者_开发知识库th";
si.UseShellExecute = true;

Process.Start(si);


You are most likely missing some of the parameters that would be included in your systems environment variables.


Try setting working directory like this

process.StartInfo.WorkingDirectory = "C:\";

Also, try few other options as mentioned here,

http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/20992653-dabf-4b31-85f7-e7bfbfb4557c


Try adding the following code as the first line to your batch file.

@cd /d %~dp0


Do not use batch_process_path + "\" + instead use Path.Combine() to make sure the path is correctly fitted with slashes.

Also read this "When UseShellExecute is true, the WorkingDirectory property specifies the location of the executable"

So set it to false.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜