在命令行中传递参数并获取完整路径

时间:2017-04-10 11:54:55

标签: c# filepath

我在D驱动器中有两个目录我的电脑

D:\My First Directory 
D:\My Second Directory 

当我在C#

的控制台程序中传递这两个参数时 像这样:

Program.exe D:\My First Directory D:\My Second Directory 

我访问了这个输出。

args[0] : D:\My
args[1] : First 
args[2] : Directory 
args[3] : D:\My 
args[4] : Second 
args[5] : Directory 

我想要这种类型的输出:

args[0] : D:\My First Directory 
args[1] : D:\My Second Directory 

1 个答案:

答案 0 :(得分:3)

唯一的方法是将参数传递给双引号,如下所示:

Program.exe "D:\My First Directory" "D:\My Second Directory"

没有其他简单的方法。 操作系统就是这样的。一个字符串是一个参数。

你可以做一些明智的机制。 我不会这样做,我只是把这些目录放在双引号中。

但如果我出于某种原因真的,真的必须这样做,我就这样做:

  • 将所有参数合并为一个字符串
  • 使用正则表达式(查找字符串如下:" D:\"当然作为正则表达式)将此字符串神奇地拆分为字符串列表(数组)。

但是只有在参数中只能包含目录而且其他内容都没有。