Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用InvokeMethod创建时未找到路径_C#_Createprocess - Fatal编程技术网

C# 使用InvokeMethod创建时未找到路径

C# 使用InvokeMethod创建时未找到路径,c#,createprocess,C#,Createprocess,获取returnValue 9(未找到路径)当我尝试此操作时,我遗漏了什么?我试图通过点击按钮来运行一个.bat文件,下面的代码没有给我任何异常,但看起来路径找不到 try { ManagementClass management = new ManagementClass("Win32_Process"); ManagementBaseObject inParams = management.GetMethodParameters("Create");

获取returnValue 9(未找到路径)当我尝试此操作时,我遗漏了什么?我试图通过点击按钮来运行一个.bat文件,下面的代码没有给我任何异常,但看起来路径找不到

try
    {
        ManagementClass management = new ManagementClass("Win32_Process");

        ManagementBaseObject inParams = management.GetMethodParameters("Create");

        inParams["CommandLine"] = "test.bat";
        inParams["CurrentDirectory"] = @"C:\test\"; //this is where test.bat is

        var output = management.InvokeMethod("Create", inParams, null);

        lblStatusResponse.Text = "" + output["returnValue"];
    }
    catch (Exception ex)
    {
        lblStatusResponse.Text = ex.ToString();
    }

您可以使用完全限定路径作为命令行[in]参数:

inParams["CommandLine"] = @"c:\test\test.bat";

CurrentDirectory[in]正在设置子进程的路径,而不是bat文件的“路径”。

您为什么不使用
进程
类,像这样?不在我的服务器上工作…它在本地运行良好。但当我在服务器上部署它时,它就不起作用了。但是我在返回值中得到0,那么问题就在你的.bat文件中。权限也可能是一个问题。我想你可以接受我的答案,然后开始一个新的问题,在那里你也可以发布你的.bat的内容。