[英]startinfo.arguments question?
我有三个路径,我希望将3个单独的参数传递给可执行文件。 我执行startinfo.arguments,但是如何分隔它们,以便可执行文件知道它们是三个不同的参数?
您可以简单地将它们传递给arguments属性,并使用空格将它们分隔,就像在命令提示符处一样,将所有包含空格的内容都括在双引号中。
更新:-
作为在参数中包含空格的示例,要将“ foo bar baz.txt”复制到“这是一个test.txt”:-
using (var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "cmd.exe",
Arguments = "/c copy \"foo bar baz.txt\" \"this is a test.txt\""
}
})
{
process.Start();
process.WaitForExit();
}
语法很笨拙,但是具有与@Ed S指出的一致的优势。
传递的参数字符串应与在命令行中键入的参数字符串相同。
假设您的程序名为Test.exe,并且您希望将其传递给3个命令行参数“ argument1”,“ argument two”和“ argument3”
如果要从命令行运行此命令,则可以执行以下操作:
Text.exe argument1 "argument two" argument3
因此,您的startInfo.Arguments将设置为:
startInfo.Arguments = "argument1 \"argument two\" argument3";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.