【发布时间】:2014-12-14 21:24:31
【问题描述】:
我正在考虑编写一种命令提示符包装器作为学习练习。基本上用户在控制台窗口中输入一个命令,然后通过 cmd.exe 执行该命令。
“Run Command Prompt Commands”通过 cmd.exe 处理命令的执行,而“Process.start: how to get the output?”负责获取结果输出。
还有一个问题我还没有解决。这种通过 cmd.exe 执行命令的方法会导致进程启动,执行它必须执行的任何操作,然后终止。因此,如果我执行cd.. 之类的操作,预期的状态变化不会在后续命令之间持续存在,您会看到您仍然在同一个工作目录中。
是否可以在保持持久 cmd.exe 会话的同时执行 shell 命令?
【问题讨论】:
-
我认为您的困惑来自这样一个事实,即 cmd.exe 可以启动外部命令,但也有 cmd.exe 可以在不将它们传递给 Windows 的情况下解释的内部命令。像
cd和set这样的命令。你应该在内部处理这些。 -
@itsme86 是的,完全正确 - 这是怎么做的?
-
参考@MartinLiversage 的回答。
标签: c# windows cmd command-prompt