我正在尝试使用cmd
命令提示符,当我在普通cmd窗口中通过Windows --> Start --> cmd
我的代码看起来像这样
"C:\Program Files\Rapid-I\RapidMiner5\scripts\rapidminer.bat" -f
"C:\Users\user\.RapidMiner5\repositories\Local Repository\test.rmp"
这很好用。
问题是当我尝试通过C#打开cmd
窗口在C#中编写此代码时
这是c#代码
ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd", "/c \"C:\\Program Files\\Rapid-I\\RapidMiner5\\scripts\\rapidminer.bat\" -f \"C:\\Users\\user\\.RapidMiner5\\repositories\\Local Repository\\test.rmp\"");
您可以看到我引用的方式与常规cmd中的代码相同。
但我得到的是can't recognize program files
。
答案 0 :(得分:0)
试试这个:
string fullPath = @"C:\Program Files\Rapid-I\RapidMiner5\scripts\rapidminer.bat";
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = Path.GetFileName(fullPath);
p.WorkingDirectory = Path.GetDirectoryName(fullPath);
p.Arguments = @"/c -f ""C:\Users\user\.RapidMiner5\repositories\Local Repository\test.rmp""";
Process.Start(p);
我修改了原始代码,为您的流程添加了参数。
您可以尝试的最后一件事是将原始命令放入批处理文件并从 ProcessStartInfo 对象中调用批处理文件,如下所示:
C#:
string fullPath = @"C:\Program Files\Rapid-I\RapidMiner5\scripts\run.bat";
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = Path.GetFileName(fullPath);
p.WorkingDirectory = Path.GetDirectoryName(fullPath);
Process.Start(p);