运行shell命令

时间:2011-04-01 07:35:30

标签: c# wpf

我的应用程序将运行如下命令:

wco -f“C:\ Work \ 6.70 Ex \ Master Build.Txt”

我所做的是我通常打开cmd并手动输入上面一行。

我试图用脚本自动执行此操作:

            string strCmdText = "wco -f C:\Work\6.70 ex\Master Build.Txt";
            System.Diagnostics.Process.Start("CMD.exe", strCmdText);
然而,由于白色空间,它会让人感到困惑。 请帮忙

3 个答案:

答案 0 :(得分:2)

如果要使用cmd.exe运行程序,则需要添加/C/K开关。 / C开关运行该命令,然后退出cmd.exe。 / K运行该命令,然后打开cmd.exe。

cmd.exe /K echo hello

我认为wco是你的程序?如果是这样,您可以绕过使用cmd.exe并直接调用wco.exe。

答案 1 :(得分:1)

您需要像在命令行中那样转义参数,并且需要转义反斜杠:

string strCmdText = "wco -f \"C:\\Work\\6.70 ex\\Master Build.Txt\"";
System.Diagnostics.Process.Start("CMD.exe", strCmdText);

答案 2 :(得分:0)

您需要使用转义字符,即C#中的\

string strCmdText = "wco -f \"C:\Work\6.70 ex\Master Build.Txt\"";
System.Diagnostics.Process.Start("CMD.exe", strCmdText);

但是,如果“wco”是可执行文件,那么您应该使用的实际代码是

string strCmdText = "-f \"C:\Work\6.70 ex\Master Build.Txt\"";
System.Diagnostics.Process.Start("wco", strCmdText);

这可能会更容易重定向输出。