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) ————————————————————