有可能通过使用像这样运行在C#中的命令行:从参数的C#运行命令行?
process = new Process();
process.StartInfo.FileName = command;
process.Start();
的问题是,如果命令字符串包含的参数,例如:
C:\My Dir\MyFile.exe MyParam1 MyParam2
这不会工作,我不请参阅如何从此字符串中提取参数并将其设置为process.Arguments
属性?路径和文件名可能是别的,该文件不必以exe
结束。
我该如何解决这个问题?
所以,问题是,我怎么能命令行分成'FileName'和'Arguments'。 – Jodrell 2011-05-11 12:27:42
听起来像你想要一个正则表达式来找到断点。严格来说,如果文件名包含空格,应该用双引号。这会对你有所帮助。这是这种情况,在你的例子中是文件名'C:\\ My'或'C:\\ My Dir \ MyFile.exe'?顺便说一句,是'M'逃脱了? – Jodrell 2011-05-11 12:31:07
文件是否以点和任何扩展名结尾?例如.com,.exe ... – ibram 2011-05-11 12:46:09