Environment.GetCommandLineArgs Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает строковый массив, содержащий аргументы командной строки для текущего процесса.
public:
static cli::array <System::String ^> ^ GetCommandLineArgs();
public static string[] GetCommandLineArgs();
static member GetCommandLineArgs : unit -> string[]
Public Shared Function GetCommandLineArgs () As 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 свойство.