我有三个路径,我希望是3个独立的参数传递到可执行文件中。我使用startinfo.arguments,但我如何将它们分开,以便可执行文件知道它们是三个不同的参数?
发布于 2011-07-26 05:48:37
您可以简单地将它们传递给参数属性,用空格分隔它们,就像在命令提示符处一样,用双引号将所有包含的空格括起来。
更新:-
作为在参数中包含空格的示例,将'foo bar baz.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所指出的那样。
发布于 2011-07-26 05:50:25
传入的参数字符串不应与在命令行中键入时传入的字符串不同。
发布于 2011-07-26 06:22:43
假设您的程序名为Test.exe,并且您想向它传递3个命令行参数"argument1“、"argument two”和"argument3“
如果要从命令行运行此命令,您将执行以下操作:
Text.exe argument1 "argument two" argument3因此,您的startInfo.Arguments将设置为:
startInfo.Arguments = "argument1 \"argument two\" argument3";https://stackoverflow.com/questions/6822770
复制相似问题