ProcessStartInfo.Arguments Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta il set di argomenti della riga di comando da utilizzare all'avvio dell'applicazione.
public:
property System::String ^ Arguments { System::String ^ get(); void set(System::String ^ value); };
public string Arguments { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Arguments { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Arguments { get; set; }
[System.ComponentModel.SettingsBindable(true)]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Arguments { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public string Arguments { get; set; }
member this.Arguments : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Arguments : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Arguments : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Arguments : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
member this.Arguments : string with get, set
Public Property Arguments As String
Valore della proprietà
Stringa singola contenente gli argomenti da passare all'applicazione di destinazione specificata nella FileName proprietà . Il valore predefinito è una stringa vuota ("").
- Attributi
Esempio
Il primo esempio crea una piccola applicazione (argsecho.exe) che restituisce gli argomenti alla console. Il secondo esempio crea un'applicazione che richiama argsecho.exe per illustrare diverse varianti per la Arguments proprietà .
// Place this code into a console project called ArgsEcho to build the argsecho.exe target
using System;
namespace StartArgs
{
class ArgsEcho
{
static void Main(string[] args)
{
Console.WriteLine("Received the following arguments:\n");
for (var i = 0; i < args.Length; i++)
{
Console.WriteLine($"[{i}] = {args[i]}");
}
Console.WriteLine("\nPress any key to exit");
Console.ReadLine();
}
}
}
' 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 this code into a console project called StartArgsEcho. It depends on the
// console application named argsecho.exe.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace StartArgsEcho
{
class Program
{
static void Main()
{
ProcessStartInfo startInfo = 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. Equivalent verbatim string is @"/a /b:""string with quotes"""
// 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. Equivalent verbatim string: @"/a /b:""""""quoted string""""""";
// [0] = /a
// [1] = /b:"quoted string"
startInfo.Arguments = "/a /b:\"\"\"quoted string\"\"\"";
Process.Start(startInfo);
}
}
}
' 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
Commenti
La lunghezza della stringa assegnata alla Arguments proprietà deve essere minore di 32.699.
Gli argomenti vengono analizzati e interpretati dall'applicazione di destinazione, pertanto devono essere allineati alle aspettative di tale applicazione. Per le applicazioni .NET, come illustrato negli esempi seguenti, gli spazi vengono interpretati come separatori tra più argomenti. Un singolo argomento che include spazi deve essere racchiuso tra virgolette, ma tali virgolette non vengono trasportate all'applicazione di destinazione. Per includere le virgolette nell'argomento analizzato finale, ogni segno di escape triplo. Se si utilizza questa proprietà per impostare gli argomenti della riga di comando, ArgumentList non deve contenere elementi.
Arguments e ArgumentList sono indipendenti l'uno dall'altro. Ovvero, la stringa assegnata alla Arguments proprietà non popola la ArgumentList raccolta e i membri dell'insieme ArgumentList non vengono assegnati alla Arguments proprietà .
Importante
L'uso di un'istanza di questo tipo con dati non attendibili è un rischio per la sicurezza. Utilizzare questo oggetto solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.