ProcessStartInfo.Arguments Özellik

Tanım

Uygulamayı başlatırken kullanılacak komut satırı bağımsız değişkenlerinin kümesini alır veya ayarlar.Gets or sets the set of command-line arguments to use when starting the application.

public:
 property System::String ^ Arguments { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.SettingsBindable(true)]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Arguments { get; set; }
member this.Arguments : string with get, set
Public Property Arguments As String

Özellik Değeri

FileName özelliğinde belirtilen hedef uygulamaya geçirilecek bağımsız değişkenleri içeren tek bir dize.A single string containing the arguments to pass to the target application specified in the FileName property. Varsayılan değer, boş dizedir ("").The default is an empty string ("").

Öznitelikler

Örnekler

İlk örnek, bağımsız değişkenlerini konsola yansıtan küçük bir uygulama (argsecho. exe) oluşturur.The first example creates a small application (argsecho.exe) that echos its arguments to the console. İkinci örnek, Arguments özelliği için farklı Çeşitlemeler göstermek üzere argsecho. exe ' yi çağıran bir uygulama oluşturur.The second example creates an application that invokes argsecho.exe to demonstrate different variations for the Arguments property.

// Place this code into a console project called ArgsEcho to build the argsecho.exe target

using namespace System;

int main(array<System::String ^> ^args)
{
    Console::WriteLine("Received the following arguments:\n");

    for (int i = 0; i < args->Length; i++)
    {
        Console::WriteLine("[" + i + "] = " + args[i]);
    }

    Console::WriteLine("\nPress any key to exit");
    Console::ReadLine();
    return 0;
}
' Place this code into a console project called ArgsEcho to build the argsecho.exe target

Module Module1
    Sub Main()
        Dim i As Integer = 0

        For Each s As String In My.Application.CommandLineArgs
            Console.WriteLine($"[{i}] = {s}")
            i = i + 1
        Next

        Console.WriteLine(Environment.NewLine + "Press any key to exit")
        Console.ReadLine()
    End Sub
End Module
// Place the following code into a console project called StartArgsEcho. It depends on the
// console application named argsecho.exe.

using namespace System;
using namespace System::Diagnostics;

int main()
{
    ProcessStartInfo^ startInfo = gcnew ProcessStartInfo("argsecho.exe");
    startInfo->WindowStyle = ProcessWindowStyle::Normal;

    // Start with one argument.
    // Output of ArgsEcho:
    //  [0]=/a            
    startInfo->Arguments = "/a";
    Process::Start(startInfo);

    // Start with multiple arguments separated by spaces.
    // Output of ArgsEcho:
    //  [0] = /a
    //  [1] = /b
    //  [2] = c:\temp
    startInfo->Arguments = "/a /b c:\\temp";
    Process::Start(startInfo);

    // An argument with spaces inside quotes is interpreted as multiple arguments.
    // Output of ArgsEcho:
    //  [0] = /a
    //  [1] = literal string arg
    startInfo->Arguments = "/a \"literal string arg\"";
    Process::Start(startInfo);

    // An argument inside double quotes is interpreted as if the quote weren't there,
    // that is, as separate arguments. 
    // Output of ArgsEcho:
    //  [0] = /a
    //  [1] = /b:string
    //  [2] = in
    //  [3] = double
    //  [4] = quotes
    startInfo->Arguments = "/a /b:\"\"string in double quotes\"\"";
    Process::Start(startInfo);

    // Triple-escape quotation marks to include the character in the final argument received
    // by the target process.
    //  [0] = /a
    //  [1] = /b:"quoted string"
    startInfo->Arguments = "/a /b:\"\"\"quoted string\"\"\"";
    Process::Start(startInfo);

    return 0;
}
' Place this code into a console project called StartArgsEcho. It depends on the
' console application named argsecho.exe.

Module Module1
    Sub Main()
        Dim startInfo As ProcessStartInfo = New ProcessStartInfo("argsecho.exe")
        startInfo.WindowStyle = ProcessWindowStyle.Normal

        ' Start with one argument.
        ' Output of ArgsEcho:
        '  [0]=/a            
        startInfo.Arguments = "/a"
        Process.Start(startInfo)

        ' Start with multiple arguments separated by spaces.
        ' Output of ArgsEcho:
        '  [0] = /a
        '  [1] = /b
        '  [2] = c:\temp
        startInfo.Arguments = "/a /b c:\temp"
        Process.Start(startInfo)

        ' An argument with spaces inside quotes is interpreted as multiple arguments.
        ' Output of ArgsEcho:
        '  [0] = /a
        '  [1] = literal string arg
        startInfo.Arguments = "/a ""literal string arg"" "
        Process.Start(startInfo)

        ' An argument inside double quotes is interpreted as if the quote weren't there,
        ' that is, as separate arguments.
        ' Output of ArgsEcho:
        '  [0] = /a
        '  [1] = /b:string
        '  [2] = in
        '  [3] = double
        '  [4] = quotes
        startInfo.Arguments = "/a /b:""""string in double quotes"""" "
        Process.Start(startInfo)

        ' Triple-escape quotation marks to include the character in the final argument received
        ' by the target process. 
        '  [0] = /a
        '  [1] = /b:"quoted string"
        startInfo.Arguments = "/a /b:""""""quoted string"""""" "
        Process.Start(startInfo)
    End Sub
End Module

Açıklamalar

Arguments özelliğine atanan dize uzunluğu 32.699 ' den az olmalıdır.The length of the string assigned to the Arguments property must be less than 32,699.

Bağımsız değişkenler ayrıştırılıp hedef uygulama tarafından yorumlanır, bu nedenle uygulamanın beklentilerine göre hizalanmalıdır.Arguments are parsed and interpreted by the target application, so must align with the expectations of that application. .NET uygulamaları için aşağıdaki örneklerde gösterildiği gibi, boşluklar birden çok bağımsız değişken arasında bir ayırıcı olarak yorumlanır.For .NET applications as demonstrated in the Examples below, spaces are interpreted as a separator between multiple arguments. Boşluk içeren tek bir bağımsız değişken tırnak işaretleriyle çevrelenmelidir, ancak bu tırnak işaretleri hedef uygulamaya taşınmaz.A single argument that includes spaces must be surrounded by quotation marks, but those quotation marks are not carried through to the target application. Son ayrıştırılmış bağımsız değişkene tırnak işareti eklemek için her bir işaret üç kez kaçış.To include quotation marks in the final parsed argument, triple-escape each mark. Komut satırı bağımsız değişkenlerini ayarlamak için bu özelliği kullanırsanız ArgumentList hiçbir öğe içermemelidir.If you use this property to set command-line arguments, ArgumentList must not contain any elements.

Arguments ve ArgumentList.NET Core 2,1 ve .NET Standard 2,1 ' den itibaren desteklenmiş bir birbirinden bağımsızdır.Arguments and ArgumentList, which is supported starting with .NET Core 2.1 and .NET Standard 2.1, are independent of one another. Diğer bir deyişle, Arguments özelliğine atanan dize ArgumentList koleksiyonunu doldurmaz ve ArgumentList koleksiyonun üyeleri Arguments özelliğine atanmaz.That is, the string assigned to the Arguments property does not populate the ArgumentList collection, and the members of the ArgumentList collection are not assigned to the Arguments property.

Şunlara uygulanır