我的应用程序将运行如下命令:
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);
然而,由于白色空间,它会让人感到困惑。
请帮忙
答案 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);
这可能会更容易重定向输出。