Environment.GetCommandLineArgs Méthode

Définition

Retourne un tableau de chaînes contenant les arguments de la ligne de commande pour le processus en cours.

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

Retours

String[]

Tableau de chaînes dans lequel chaque élément contient un argument de ligne de commande. Le premier élément est le nom du fichier exécutable et les éventuels éléments suivants contiennent les arguments de la ligne de commande restants.

Exceptions

Le système ne prend pas en charge les arguments de ligne de commande.

Exemples

L’exemple suivant affiche les arguments de ligne de commande de l’application.

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
'

Remarques

Le premier élément du tableau contient le nom de fichier du programme en cours d’exécution. Si le nom de fichier n’est pas disponible, le premier élément est égal à String.Empty. Les éléments restants contiennent tous les jetons supplémentaires entrés sur la ligne de commande.

Dans .NET 5 et versions ultérieures, pour la publication à fichier unique, le premier élément est le nom de l’exécutable de l’hôte.

Le nom du fichier du programme peut, mais n’est pas obligatoire, inclure des informations de chemin d’accès.

Les arguments de ligne de commande sont délimités par des espaces. Vous pouvez utiliser des guillemets doubles (« ) pour inclure des espaces dans un argument. Toutefois, le guillemet simple (') ne fournit pas cette fonctionnalité.

Si un guillemet double suit deux barres obliques inverses ou un nombre pair de barres obliques inverses, chaque paire de barres obliques inverses suivant est remplacée par une barre oblique inverse et le guillemet double est supprimé. Si un guillemet double suit un nombre impair de barres obliques inverses, y compris une seule, chaque paire précédente est remplacée par une barre oblique inverse et la barre oblique inverse restante est supprimée ; Toutefois, dans ce cas, le guillemet double n’est pas supprimé.

Le tableau suivant montre comment les arguments de ligne de commande peuvent être délimités MyApp et suppose comme application en cours d’exécution.

Entrée sur la ligne de commande Arguments de ligne de commande résultants
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

Pour obtenir la ligne de commande sous la forme d’une chaîne unique, utilisez la CommandLine propriété .

S’applique à

Voir aussi