【发布时间】:2012-11-30 13:40:41
【问题描述】:
我有一个程序,基本上剩下的就是通过 CMD.exe 调用命令。
我需要在当前工作目录中打开 CMD.exe(我知道我可以只执行 Porcess.Start(CMD.exe))
然后我需要让程序在 cmd.exe 中键入一个特定的字符串。同时留在我当前的工作目录中。我不能使用“UseShellExecute == false”,因为它会杀死 shell,我需要 shell 才能工作。
显然我需要更具体。所以,我试图写入 cmd.exe 的文本是"clingo.exe \"Constants.txt\" \"Solver.txt\" \"Nodes.txt\" > \"Solved.txt\""。 clingo.exe 是一个答案集编译器,我在常量、求解器和节点文件上使用它来获得通过管道传输到 Solved 的解决方案。所有这些文件都在一个目录中。
【问题讨论】:
-
你试过
Process p = new Process(); p.StartInfo = new ProcessStartInfo("cmd"); p.StartInfo.Arguments = "everything else here"; -
欢迎您!看起来您在有效使用
Process类时遇到了问题。如果您提供迄今为止尝试过的内容,您将获得更好的答案,并更好地理解问题。
标签: c# command-line cmd