感觉是很简单的一个程序,可是就是有问题。
是这样的:
我有一条命令,要动态传入一个参出进去,就象做个窗体,给个输入框,输入参数后,
直接执行cmd,运行那个命令,该命令是远程调用一个可执行程序。
类似\\computer1\d$\xxx.exe 0 1222 XXX
如果直接在命令行中执行一个参数已知的命令,没有问题。
但是如果象上边程序中传进去参数,就会出错,感觉是权限的问题。各位帮忙看看

解决方案 »

  1.   


    code:Process.Start("cmd.exe",@"/c \\computer1\d$\XXX.exe 0 " + textBox1.Text + " " + "XXX");
    错误的意思是说提供的name不存在,实际上是已经调出了应用程序,只是验证没有通过
      

  2.   

    private void ProcessCmd(string cmd)
    {
    Process proc = new Process();
    try
    {
    proc.StartInfo.FileName = "cmd.exe";
    proc.StartInfo.UseShellExecute = false;
    proc.StartInfo.RedirectStandardInput = true;
    proc.StartInfo.RedirectStandardOutput = true;
    proc.StartInfo.RedirectStandardError = true;
    proc.StartInfo.CreateNoWindow = true;
    proc.Start();
    proc.StandardInput.WriteLine(cmd);
    proc.StandardInput.WriteLine("exit");
    while (proc.HasExited == false)
    {
    proc.WaitForExit();
    }
    }
    catch(Exception ex)
    {
    //eat it
    }
    finally
    {
    try
    {
    proc.Close();
    proc.Dispose();
    }
    catch(Exception ex)
    {
    //eat it
    }
    }
    }cmd就是你要执行的东西