Paramter

  • Ich hab mal so eine frage

    Ich habe gehört das mache leute in ihre programme oder scripte paramter einprogrammieren.

    Also zb wäre eine idde von mir das der Pc runterfahren soll oder neustarten als parameter am ende eins scriptes.

    Also meine.exe -Neustart oder Runterfahrem

    Wie kann ich sowas anstellen?

  • Das ich habe ich auch schon über die suche gefunden gg

    Aber sehen und verstehen sind 2 ander dinge und das verstehen ist es eher ich sehe nich wie ich daras ein parameter R oder N machen kann der dan irgendwann mal vorkommt wärend das script arbeitet

  • Vieleich ist diese Bespiel besser zu verstehen:

    [autoit]

    ; Ausgabe der Parameteramzahl die übergeben wurden
    Msgbox(0,"","Es wurden " & $cmdline[0] & " Parameter beim Start übergeben")

    [/autoit][autoit][/autoit][autoit]

    If $cmdLine[0] > 0 Then ; wenn mindestens ein Parameter angegeben wurde...
    $i = 1
    Do
    Msgbox(0,"","Parameter Nr. " & $i & " ist : " & $cmdline[$i])
    $i += 1
    Until $i > $cmdline[0] ; wiederhole solange noch Parameter übrig
    EndIf

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Danke für hilfe ich glaube ich habe es begriffen.

    [autoit]

    Msgbox(0,"","Es wurden " & $cmdline[0] & " Parameter beim Start übergeben")
    If $cmdLine[0] > 0 Then
    If $cmdLine[1] = ("-s") Then
    Msgbox(0,"","Fahre PC Runter")
    ElseIf $cmdLine[1] = ("-n") Then
    Msgbox(0,"","Starte den PC neu")
    Else
    Msgbox(0,"","Schalter ungültig")
    EndIf
    EndIf

    [/autoit]

    Wäre jetz mal mein script um per schalter zu sagen ob der runterfahren oder neustarten soll

    cmdLine[Zahl]

    die zahl dort drinnen bedeutet doch welcher schlater das ist also 1 oder 2 oder 3 -a -b -c

  • Na siehst Du, war gar nicht schwer.

    Es ist richtig. Die Parameter sind durchnummeriert. Der erste Parameter ist $cmdline[1], der zweite $cmdline[2], u.s.w.
    Aber Du darf den Parameter nicht einfach mit 'If' vergleichen, weil er ja nicht unbedingt übergeben wurde. Also musst Du immer erst die Variable $cmdline[0] auslesen, in der die Anzahl der Parameter steht. Diese Variable ist immer da. Ist sie '0' wurde kein Parameter übergeben.

    P.S.: Es reicht wenn Du schreibst: 'If $variable = "irgendwas"'. Die Klammern () brauchst Du nicht.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Ja, cmdline[0] gibt die Anzahl der übergebenen Parameter an.