繁体   English   中英

startinfo.arguments有问题吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM