autoit Syntax Start Parameter

Commandline Parameter einlesen und auswerten:

 

z.B.:        /h , -h , /? oder -?        zeigt die Hilfe an

       /i oder -i                zeigt Informationen an

       /d oder -d                zeigt Debug-Informationen (z.B. Variablen-Werte) an

 

Diese müssen natürlich im Programm vorbereitet werden:

 

dim $debug=0        ; wenn 1, dann Debug-Infos anzeigen

dim $info=0                ; wenn 1, dann Info-Infos anzeigen

 

dim $setupDir=@ScriptDir        ; @AppDataDir

 

 

; ### check for CommandLineParameters

if $CmdLine[0]>0 Then

  if StringInStr($CmdLineRaw, "/h", 2) OR  StringInStr($CmdLineRaw, "/?", 2) OR StringInStr($CmdLineRaw, "-h", 2) OR  StringInStr($CmdLineRaw, "-?", 2) then HelpBox()

  if StringInStr($CmdLineRaw, "/d", 2) OR  StringInStr($CmdLineRaw, "-d", 2)then $debug=1

  if StringInStr($CmdLineRaw, "/i", 2) OR  StringInStr($CmdLineRaw, "-i", 2)then $info=1

EndIf

 

if $debug = 1 Then MsgBox(48, "_DEBUG_", "Var: $setupDir := " & $setupDir _

       & @CRLF &  "Var: $iniFile := " & $iniFile )

EndIf

 

if $info = 1 Then MsgBox(64, "_INFO_", "Info…" _

       & @CRLF & "Setupdatei lautet:" _

       & @CRLF & $setupFile & @CRLF & "Status: " & $setFileExists)

EndIf

 

; ################# eigene Funktionen ######################

 

Func HelpBox()

  MsgBox(32, "_HELP_", "Hilfe:" & @CRLF &  "Dieses Programm automatisiert die Installation von AEB – WUP." & @CRLF _

  & "In einer INI-Datei namens wup-install.ini muss die Setup-Datei angegeben werden." & @CRLF & @CRLF  _

  & "Beispiel der INI-Datei:" & @CRLF _

  & "        [setup]" & @CRLF _

  & "        file=wup.exe" & @CRLF & @CRLF _

  & "wobei WUP.EXE die Setup-Datei der Installation ist." & @CRLF & @CRLF _

  & "——————————————————" & @CRLF & @CRLF _

  & "Man kann dieses Programm mit folgenden Parametern starten:" & @CRLF _

  & "        diese Hilfe:        /h oder /? oder -h oder -? " & @CRLF _

  & "        InfoMode:        /i oder -i" & @CRLF _

  & "        DebugMode:        /d oder -d" & @CRLF & @CRLF _

  & "——————————————————" & @CRLF & @CRLF _

  & "Bei Fragen oder Änderungswünschen wende man sich an George " & @CRLF _

  & "Phone: +49 2773 924 3915 · mailto:quinting.g@loh-services.de" & @CRLF )

  EXIT

EndFunc        ; HelpBox

 

; ==================================================================

 

 


 

Funktion findet den Parameter-Wert nach einem Erkennungs-String (z.B: /u:)

 

local $UserId

 

if $CmdLine[0]>0 Then

  if StringInStr($CmdLineRaw, "/u:", 2) then

          local $UserId = _ExtractParameter($CmdLine,"/u:")

 

          MsgBox(64,"INFO","$CmdLineRaw: " & $CmdLineRaw _

          & @CRLF & "$CmdLine[0]: “ & $CmdLine[0] _

          & @CRLF & "$CmdLine[1]: “ & $CmdLine[1] _

          & @CRLF & "$UserId: " & $UserId _

          )

  EndIf

 

EndIf

 

MsgBox(64,"INFO","$UserId: " & $UserId)

 

EXIT

; ——————————————————–

 

Func _ExtractParameter($Array,$SubString)        ; ========================================

       Local        $Parameter
       for $i = 1 to $Array[0]

               if StringInStr($Array[$i], $SubString, 2) > 0 Then

                       $Parameter = StringTrimLeft($Array[$i],StringLen($SubString))

               EndIf

       Next

 

       Return $Parameter

 

EndFunc        ; _ExtractParameter($Array,$SubString) ————————————————————