我正在寻找一种方法来运行可执行文件或脚本,而无需让cmd.exe为我执行此操作。目前我使用发射cmd.exe /C <command>
,我需要为我做以下事情的过程:任何方式来解释一个命令而不运行cmd.exe?
- 查找当前目录中的可执行文件和路径
- 解释PATHEXT允许扩展名的脚本命令
- 解释文件关联,例如,当我告诉它运行
blah.py
时运行python解释器。
我不需要能够运行任何的“内置”的命令,如“目录”。
是否有可能避免使用cmd.exe
而基本上不重新实现所有上述功能?必须有某种shell API来完成上述事情,对吧?
一目了然,它不似乎解决PATH或PATHEXT - 是这样,还是它实际上这样做? – 2011-04-27 09:55:04
它确实(这可能是安全风险),请参阅https://buildsecurityin.us-cert.gov/bsi/articles/knowledge/coding/825-BSI.html – 2011-04-27 10:36:00