Befehlszeilenargumente auslesen !

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von picoflop.

    Befehlszeilenargumente auslesen !

    Guten Abend liebe Community !
    Ich hätte da eine echt nooblike Frage. Hab mich noch nie wirklich beschäftigt, weil ichs einfach unprofessionell anders gemacht hab. Aber ihr kennt ja sicher alle diese ConsoleApps bei denen ihr die Argumente so übergebt:
    mysql.exe -s 127.0.0.1 -u user -p 123
    Sowas möcht ich auch haben, aber mir fehlt ehrlich gesagt der Ansatz, wie ich das machen soll... Mir ist zwar klar wie ich die argumente auslese, das würde ich mit Environment.GetCommandLineArgs() machen, bekomm ich nen array zurück, aber wie ich dann die zuordnung der arugmente mache, also in dem oben beschrieben format ist mir schleierhaft.
    Ich wäre echt sehr dankbar für einen Ansatz, oder sogar ein wenig Code.

    Lg



    Entschuldigt bitte den unnützen Post. Das hat mich jetzt gefuchst und ich wollt an dem Tool nicht weiterschreiben bis das geht =).
    Habs jetzt selbst hinbekommen. Möchte euch den Lösungsansatz nicht vorenthalten, bitte bewertet den Code, ob da was verbesserungswürdig ist.

    VB.NET-Quellcode

    1. Dim i As Integer = 0
    2. If My.Application.CommandLineArgs.Count > 0 Then
    3. While i < My.Application.CommandLineArgs.Count
    4. If My.Application.CommandLineArgs(i) = "-r" Then
    5. rangepath = My.Application.CommandLineArgs(i + 1)
    6. ElseIf My.Application.CommandLineArgs(i) = "-c" Then
    7. check = My.Application.CommandLineArgs(i + 1)
    8. End If
    9. i += 1
    10. End While


    Edit by der_Kurt:
    Bitte keine Doppelposts erstellen. Es gibt hier eine "Bearbeiten"-Funktion.
    * Beiträge zusammengeführt, Code formatiert *

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „der_Kurt“ ()

    Für andere die Noch einenn anderen Weg Suchen wie sie die CommandLineArgs bekommen:

    VB.NET-Quellcode

    1. If Me.CommandLineArgs.Count > 0 Then
    2. For Each ParmaPunchLineGewitter As String In Me.CommandLineArgs
    3. Select Case ParmaPunchLineGewitter
    4. Case "-y"
    5. Me.PunchlineGewitter = (False)
    6. Case "-w"
    7. Dim MainFrame As Form = CType(Me.MainForm, anorexia_nervosa0)
    8. MainFrame.Text = ("PunchlineGewitter - Anorexia Nervosa")
    9. Case "-parma"
    10. For Each AktiveValue As String In Me.CommandLineArgs
    11. MessageBox.Show(AktiveValue, "Parameter Boot Analyse", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
    12. Next
    13. End Select
    14. Next
    15. end if

    Endschuldigung für den Schlampigen Coode, aber er ist aus einen Laufenden Project Herauskopiert! 8-)
    Da du eine "Bewertung" wolltest:

    VB.NET-Quellcode

    1. Dim i As Integer = 0
    2. If My.Application.CommandLineArgs.Count > 0 Then
    3. While i < My.Application.CommandLineArgs.Count

    Daraus folgt, dass die zweite Zeile absolut sinnlos ist ...