2013-06-25 1 views
0

Я хотел бы, чтобы пользователи могли запускать свою программу (с ЦМД Windows) с синтаксисом, как этотКак заставить программу принимать glob (подстановочные знаки) в командной строке?

  • app.exe *.pdf
  • app.exe February/*.pdf March/*.pdf
  • app.exe contracts.pdf

приложение будет затем сделать свой бизнес для каждого из соответствующих файлов. В Unix это называется globbing, и это делается оболочкой.

Как добиться этого для приложения командной строки Windows C#?

Гипотетический синтаксис

void Main(string[] args) 
{ 
    foreach(var file in args.SelectMany(arg => Glob.Expand(arg))) 
    { 
     Process(file) 
    } 
} 

ответ

0

Самый простой способ сделать это, чтобы преобразовать параметр командной строки в регулярное выражение. См. glob pattern matching in .NET для примера о том, как преобразовать аргумент командной строки в регулярное выражение.