首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#中的批处理文件执行

c#中的批处理文件执行
EN

Stack Overflow用户
提问于 2011-05-12 13:31:50
回答 4查看 450关注 0票数 3

我正在从C#运行一个Java批处理文件。如果我通过双击运行它,它将成功执行,但是如果我从C#代码运行它,它会在线程中产生异常。

“主”线程java.lang.noclassdeffoundError中的异常。

原因是什么,如何解决呢?我使用的代码是:

代码语言:javascript
复制
var si = new ProcessStartInfo();

si.CreateNoWindow = true;
si.FileName = "batch-file path";
si.UseShellExecute = true;

Process.Start(si);
EN

回答 4

Stack Overflow用户

发布于 2011-05-12 13:33:57

您很可能丢失了系统环境变量中包含的一些参数。

票数 1
EN

Stack Overflow用户

发布于 2011-05-12 13:41:50

尝试像这样设置工作目录

代码语言:javascript
复制
process.StartInfo.WorkingDirectory = "C:\";

另外,也不要尝试这里提到的其他选择,

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

票数 0
EN

Stack Overflow用户

发布于 2011-05-12 13:46:44

尝试在批处理文件中添加以下代码作为第一行代码。

代码语言:javascript
复制
@cd /d %~dp0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5978737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档