当前位置: 首页 > 编程语言 > C#

从C#运行dos命令行?share

时间:2023-04-10 18:01:21 C#

从C#运行dos命令行?我正在尝试从命令行提示符运行此命令:“D:\fiji\fiji.exe-macroD:\fiji\macros\FFTBatch.ijm--headless”当我在命令行控制台中键入它时,它效果很好。但是,当我尝试让它在C#应用程序中运行时,它失败了。我试过以下,但似乎上面的命令没有以某种方式执行:stringfijiCmdText="D:\fiji\fiji.exe-macroD:\fiji\macros\FFTBatch.ijm--headless";系统.诊断。Process.Start("cmd.exe",fijiCmdText);任何人都知道如何改变这个工作?谢谢。ChrisHaas指出的方向解决了这个问题。这并不意味着其他答案不起作用,它只是意味着问题可以至少以一种方式解决。在这里,只需将“/C”添加到代码中,它应该可以工作:事实证明它没有工作:stringfijiCmdText="D:\fiji\fiji.exe-macroD:\fiji\macros\FFTBatch.ijm--无头”;System.Diagnostics.Process.Start("cmd.exe",fijiCmdText);当前有效代码:stringfijiCmdText="/CD:\fiji\fiji.exe-macroD:\fiji\macros\FFTBatch.ijm--headless";System.Diagnostics.Process.Start("cmd.exe",fijiCmdText);这是ChrisHaas提到的参考资料。请参阅EDIT3您不必运行cmd.exe,只需创建一个ProcessStartInfo对象并将带参数的命令传递给它。像这样:System.Diagnostics.ProcessStartInfoinfo=newSystem.Diagnostics.ProcessStartInfo("yourcommand","parameters");这是一个向您展示如何执行此操作的示例:System.Diagnostics.ProcessStartInfoinfo=newSystem.Diagnostics.ProcessStartInfo("tree.com","/f/a");System.Diagnostics.Processp=newSystem.Diagnostics.Process();p.StartInfo=信息;p.开始();p.WaitForExit();所以在你的情况下,这是你的命令:"D:\fiji\fiji.exe",这是你的命令参数或参数:@"-macroD:\fiji\macros\FFTBatch.ijm--headless"试试这个:以上是C#学习教程:从C#运行dos命令行?如果分享的内容对你有用,需要了解更多C#学习教程,希望大家多多关注——ProcessStartInfoinfo=newProcessStartInfo(@"D:fijifiji.exe",@"-macroD:fijimacrosFFTBatch.ijm--无头");流程process=newProcess();process.StartInfo=信息;过程。开始();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: