Environment.GetCommandLineArgs Метод

Определение

Возвращает строковый массив, содержащий аргументы командной строки для текущего процесса.

public:
 static cli::array <System::String ^> ^ GetCommandLineArgs();
public static string[] GetCommandLineArgs();
static member GetCommandLineArgs : unit -> string[]
Public Shared Function GetCommandLineArgs () As String()

Возвращаемое значение

String[]

Массив строк, где каждый элемент содержит аргумент командной строки. Первый элемент — это имя исполняемого файла, а следующие ноль или несколько элементов содержат оставшиеся аргументы командной строки.

Исключения

Система не поддерживает аргументы командной строки.

Примеры

В следующем примере отображаются аргументы командной строки приложения.

using System;

class Sample
{
    public static void Main()
    {
        Console.WriteLine();
        //  Invoke this sample with an arbitrary set of command line arguments.
        string[] arguments = Environment.GetCommandLineArgs();
        Console.WriteLine("GetCommandLineArgs: {0}", string.Join(", ", arguments));
    }
}
/*
This example produces output like the following:

    C:\>GetCommandLineArgs ARBITRARY TEXT

      GetCommandLineArgs: GetCommandLineArgs, ARBITRARY, TEXT
*/
open System

//  Invoke this sample with an arbitrary set of command line arguments.
let arguments = Environment.GetCommandLineArgs()

String.concat ", " arguments
|> printfn "\nGetCommandLineArgs: %s"

// This example produces output like the following:
//     C:\>GetCommandLineArgs ARBITRARY TEXT
//
//       GetCommandLineArgs: GetCommandLineArgs, ARBITRARY, TEXT
Class Sample
   Public Shared Sub Main()
      Console.WriteLine()
      '  Invoke this sample with an arbitrary set of command line arguments.
      Dim arguments As String() = Environment.GetCommandLineArgs()
      Console.WriteLine("GetCommandLineArgs: {0}", String.Join(", ", arguments))
   End Sub
End Class
'This example produces output like the following:
'    
'    C:\>GetCommandLineArgs ARBITRARY TEXT
'    
'      GetCommandLineArgs: GetCommandLineArgs, ARBITRARY, TEXT
'

Комментарии

Первый элемент в массиве содержит имя файла исполняемой программы. Если имя файла недоступно, первый элемент равен String.Empty. Остальные элементы содержат любые дополнительные маркеры, введенные в командной строке.

В .NET 5 и более поздних версиях для публикации с одним файлом первый элемент — это имя исполняемого файла узла.

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

Аргументы командной строки разделены пробелами. Для включения пробелов в аргумент можно использовать двойные кавычки ("). Однако одинарный кавычки (') не предоставляет эту функцию.

Если двойная кавычка следует двум или даже числу обратных косых кавычек, каждая из них будет заменена одной обратной косой чертой, а двойная кавычка удаляется. Если двойная кавычка следует нечетное число обратных косых кавычек, включая только одну, каждая предыдущая пара заменяется одной обратной косой чертой, а оставшаяся обратная косая черта удаляется; Однако в этом случае двойная кавычка не удаляется.

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

Входные данные в командной строке Результирующий аргумент командной строки
MyApp alpha beta MyApp, alpha, beta
MyApp "alpha with spaces" "beta with spaces" MyApp, alpha with spaces, beta with spaces
MyApp 'alpha with spaces' beta MyApp, 'alpha, with, spaces', beta
MyApp \\\alpha \\\\"beta MyApp, \\\alpha, \\beta
MyApp \\\\\"alpha \"beta MyApp, \\"alpha, "beta

Чтобы получить командную строку в виде одной строки, используйте CommandLine свойство.

Применяется к

См. также раздел