错误 - 当它肯定存在时找不到文件

时间:2012-11-13 12:37:16

标签: c# .net win32exception

我正在尝试使用System.Diagnostics.Process.Start()运行某个进程,但收到以下错误:

System.ComponentModel.Win32Exception: The system cannot find the file specified

我仔细检查了路径,甚至将字符串复制到cmd窗口,在那里它运行得很好。可能是什么问题?

我正在使用Win7 64位,我试图运行的程序是用mingw64-x64编译的,我正在编译.NET 2.0

修改
在尝试做建议时

if (File.Exists(Your EXE)) {
}

我发现从命令字符串中删除标志解决了问题(我没有想到这是一个问题,因此之前没有提到过)

如何使用参数运行命令?

4 个答案:

答案 0 :(得分:1)

Windows 7文件夹重定向可能是个问题。

基本上有时当您尝试访问“C:\ program files”时,它会将您重定向到“C:\ users \ username \ program files”

之类的内容

我正在为你寻找一些资源。当我发现能比我更好地解释它的东西时,我会告诉你。

修改

我发现带有参数的命令在对接中是 pain 以使其正常工作。我通常只是编写一个批处理文件然后让C#运行它。

答案 1 :(得分:1)

对于参数,请使用this method。或者使用ProcessStartInfo重载。

答案 2 :(得分:0)

添加if语句,如:

if (File.Exists(Your EXE))
{
    // Start the process
} 

否则您无法确保使用的路径是正确的。

看看这个answer,maby it help

答案 3 :(得分:0)

使用ProcessStartInfo类并将值设置为Arguments属性:

http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.aspx