ASP.NET CORE下运行CMD命令

ASP.NET CORE下运行CMD命令,用以前的ASP.NET 的命令
System.Diagnostics.Process.Start("notepad");
这样是可以运行出记事本的,

现在公司的C++大神开发了个EXE,需要放在服务器上,然后当访问服务器上的某个网页的时候就执行这个EXE了。。

传到服务器上,在服务器上运行 d:/temp/cm/cm.exe -url=http://baidu.com ,成功运行的,其中后面 -url=xxx是传过去的参数的

放在.NET CORE下运行:
System.Diagnostics.Process.Start("d:/temp/cm/cm.exe -url=http://baidu.com");
结果显示找不到文件,但是明明路径都是正确的,上网查了下,可能是权限的问题,我把cm目录全设置为everyone了,再运行测试,结果还是不行。。

再上网找啊找啊找啊,终于能运行了:

        //执行CMD命令
        public ActionResult OpenNotepad() {
            string[] cmd = webinfo.mobilepay_cmd.Split(" "); // 数组 元素1,命令全路径d:/cm/cm.ext 元素2,参数 -url=http://163.com
            string cmd2 = cmd[1].Replace("{phone}", "13607886582").Replace("{amount}","10");
            log.Info($"\r\n运行CMD命令:{cmd[0]} {cmd2}");
            var psi = new System.Diagnostics.ProcessStartInfo(cmd[0], cmd2);
            System.Diagnostics.Process.Start(psi);
            return Content("hello niunan...");

        }



2019年03月01日更新:

 本地WIN10运行总是提示打不到文件的,但是路径是正确的,后来发现VS右键用管理员打开后就可以运行了。。。