有没有运行cmd.exe解释命令的方法?

时间:2011-04-27 09:04:22

标签: shell cmd windows-shell

我正在寻找一种方法来运行可执行文件或脚本而不让cmd.exe为我做这件事。目前我正在使用cmd.exe /C <command>启动一个流程,我需要为我做以下事情:

  • 在当前目录和PATH
  • 中查找可执行文件
  • 解释PATHEXT以允许无扩展脚本命令
  • 解释文件关联,例如,当我告诉它运行blah.py时运行python解释器。

需要能够运行任何“内置”命令,例如“dir”。

是否可以避免使用cmd.exe而基本上不重新实现上述所有功能?必须有某种shell API来执行上述操作,对吗?

2 个答案:

答案 0 :(得分:2)

查看System.Diagnostics.Process.Start(appName,args)。 http://msdn.microsoft.com/en-us/library/system.diagnostics.process.start.aspx关于shell,您看过它了吗http://msdn.microsoft.com/en-us/library/bb773177(v=vs.85).aspx

答案 1 :(得分:2)

ShellExecute应该完全按照您的意愿执行 - 您可以使用它来启动可执行文件或文件(然后使用标准应用程序打开),

http://msdn.microsoft.com/en-us/library/bb762153%28v=vs.85%29.aspx