Поделиться через


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 namespace System;

int main()
{
   Console::WriteLine();
   
   //  Invoke this sample with an arbitrary set of command line arguments.
   array<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
*/
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 свойство .

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

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