Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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# 从C运行CMD命令#_C#_Cmd - Fatal编程技术网

C# 从C运行CMD命令#

C# 从C运行CMD命令#,c#,cmd,C#,Cmd,我试图从C#控制台应用程序运行以下cmd命令,该命令在cmd上运行,但什么也没发生: string strCmdText = "\\office\\Public\\Tools\\myTool\\myTool_V1.0\\myTool.exe -kan tools -kdb Adhoc - ktn Components3 - uri https://coprime.osdinfra.net"; System.Diagnostics.Process.Start("CMD.ex

我试图从C#控制台应用程序运行以下cmd命令,该命令在cmd上运行,但什么也没发生:

      string strCmdText = "\\office\\Public\\Tools\\myTool\\myTool_V1.0\\myTool.exe -kan tools -kdb Adhoc - ktn Components3 - uri https://coprime.osdinfra.net";
      System.Diagnostics.Process.Start("CMD.exe", strCmdText);
在VS中按F5后,cmd窗口被紧急关闭,因此我看不到“myTool.exe”的输出-实际上,当从cmd窗口运行时,它会在cmd上打印进度状态

此外,该计划的预期效果没有发生,所以我知道它不起作用


需要帮助请

命令提示符不接受程序作为启动参数。但是,我看不出在这里使用命令提示符的原因。您的代码正在启动进程“Cmd.exe”,因此它可以启动另一个进程。为什么不除掉中间人,开始你想开始的过程呢?然后可以将进程的实际参数作为参数传递到process.start()中

更新:

您可以从命令提示符启动程序,但它是一个特定的命令。事情是这样的:

CMD.exe/c{要执行的命令字符串}

例如,如果需要,您可以通过cmd运行它,方法如下:

  string strCmdText = "/c start \\office\\Public\\Tools\\myTool\\myTool_V1.0\\myTool.exe -kan tools -kdb Adhoc - ktn Components3 - uri https://coprime.osdinfra.net";
  System.Diagnostics.Process.Start("CMD.exe", strCmdText);

命令提示符不接受程序作为启动参数。但是,我看不出在这里使用命令提示符的原因。您的代码正在启动进程“Cmd.exe”,因此它可以启动另一个进程。为什么不除掉中间人,开始你想开始的过程呢?然后可以将进程的实际参数作为参数传递到process.start()中

更新:

您可以从命令提示符启动程序,但它是一个特定的命令。事情是这样的:

CMD.exe/c{要执行的命令字符串}

例如,如果需要,您可以通过cmd运行它,方法如下:

  string strCmdText = "/c start \\office\\Public\\Tools\\myTool\\myTool_V1.0\\myTool.exe -kan tools -kdb Adhoc - ktn Components3 - uri https://coprime.osdinfra.net";
  System.Diagnostics.Process.Start("CMD.exe", strCmdText);

您正在从控制台应用程序打开命令提示窗口?为什么?运行
.exe
,可能不需要重复
cmd
,但只要您使用
cmd
,它就需要一个选项标志–
cmd/C\path\to\app.exe
。我要说多少次。指定完整路径并停止依赖您不控制的默认目录。是否从控制台应用程序打开命令提示窗口?为什么?运行
.exe
,可能不需要重复
cmd
,但只要您使用
cmd
,它就需要一个选项标志–
cmd/C\path\to\app.exe
。我要说多少次。指定完整路径并停止依赖您不控制的默认目录。是否需要“start”关键字,以及/c是否应该为大写字母c?我发现没有start关键字它无法工作。我相信这是一个小写的cIs,“开始”关键字是必需的,并且/c是否应该是大写的c?我发现没有开始关键字它是不起作用的。我相信是小写的c