Если аргументы командной строки не указаны, используйте каталог командной строки - PullRequest
0 голосов
/ 31 января 2012

В консольном приложении c # я намереваюсь получить соответствующий каталог.Например, предположим, что у меня есть следующий код:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(args[0]);
    }
}

, и я делаю это в командной строке:

FooCA.exe. \ Foo \ Bar

То, что я получаю, точно такая же строка.Итак, как я могу преобразовать это в полный путь?

И я хотел бы получить каталог командной строки, если не указаны аргументы командной строки.

Ответы [ 3 ]

2 голосов
/ 31 января 2012

Вы можете использовать System.IO.Path.GetFullPath() для разрешения относительных каталогов и System.IO.Directory.GetCurrentDirectory() для поиска текущего рабочего каталога (т. Е. Каталога командной строки, как вы говорите)

1 голос
/ 31 января 2012
  1. System.IO.Path.GetFullPath(path): возвращает абсолютный путь для указанной строки пути.

  2. Environment.CurrentDirectory: получает или задает полный путь текущегорабочий каталог.

0 голосов
/ 31 января 2012

Вы можете использовать:

Path.GetFullPath(args[0])

Это будет учитывать текущий исполняемый каталог.Будьте внимательны при проверке ваших путей, принимая их из пользовательского ввода, поскольку они могут быть вредоносными.

...