如何在c#中使用out space执行命令行 [英] how to execute a command line in c# with out space

查看:82
本文介绍了如何在c#中使用out space执行命令行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须在c#
执行命令行


执行命令行(@Files +\\CON.exe+ MHTFile ++模板) ;



模板字符串之间有空格所以它不工作





如何在c#中执行此操作?



提前谢谢。

I have to execute a command line in c#

ExecuteCommandLine(@Files + "\\CON.exe " + MHTFile + " " + template);

the template string have space in between so its not working


how to execute this in c# ?

Thanks in advance.

推荐答案

环绕模板字符串带引号。例如,请考虑此代码段
Surround the template string with quotes. For example consider this code snippet
var str1 = "a string without quotes";
var str2 = "\"a string surrounded by quotes\"";
Console.WriteLine("|{0}|", str1);
Console.WriteLine("|{0}|", str2);



给出结果


which gives the results

|a string without quotes|
|"a string surrounded by quotes"|

如果模板在任何时候都不包含空格,则引号无害。



所以在你的情况下,你可以尝试

If at any time template does not contain spaces, the quotes are harmless.

So in your case you could try

var template = "\"a string with quotes\"";

ExecuteCommandLine(@Files + "\\CON.exe " + MHTFile + " " + "\"" + template + "\"");


尝试:

Try:
ExecuteCommandLine(@Files + "\\CON.exe \"" + MHTFile + " " + template + "\"");

这是否有效取决于你的ExecuteCommandLine方法对你传递的数据做了什么:我自己将它传递给两个字符串 - 一个是exe,另一个是参数,并使用Process.Start重载代替两个参数: MSDN [ ^ ]

Whether that works or not depends on what your ExecuteCommandLine method does with teh data you pass it: myself I'd pass it two strings - one the exe and the other the parameters and use the Process.Start overload that takes two parameters instead: MSDN[^]


这篇关于如何在c#中使用out space执行命令行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆