startinfo.参数的问题

本文关键字:问题 参数 startinfo | 更新日期: 2023-09-27 18:03:44

我有三个路径,我想作为3个单独的参数传递到可执行文件中。我做startinfo。参数,但是我如何把它们分开,让可执行文件知道它们是三个不同的参数?

startinfo.参数的问题

您可以简单地将这些参数传递给argument属性,并使用空格分隔它们,就像在命令提示符中那样,将任何包含空格的空格用双引号括起来。

更新:-

作为参数中包含空格的一个例子,将'foo bar bar .txt'复制到'this is a 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 2 "answers"argument3"

如果您要从命令行运行此命令,您将这样做:

Text.exe argument1 "argument two" argument3

startInfo。参数将被设置为:

startInfo.Arguments = "argument1 '"argument two'" argument3";