Parse command-line arguments: Difference between revisions
Content added Content deleted
(Added zkl) |
(added Autohotkey) |
||
Line 2: | Line 2: | ||
[[Command-line arguments]] can be quite complicated, as in "nc -v -n -z -w 1 192.168.1.2 1-1000". Many languages provide a library (getopt or GetOpt) to parse the raw command line options in an intelligent way. |
[[Command-line arguments]] can be quite complicated, as in "nc -v -n -z -w 1 192.168.1.2 1-1000". Many languages provide a library (getopt or GetOpt) to parse the raw command line options in an intelligent way. |
||
=={{header|AutoHotkey}}== |
|||
For AutoHotkey v1.1+ |
|||
<lang AutoHotkey>;Get Arguments as an array |
|||
if 0 > 0 |
|||
{ |
|||
argc=%0% |
|||
args:=[] |
|||
Loop, %argc% |
|||
args.Insert(%A_Index%) |
|||
} |
|||
else |
|||
{ |
|||
;if got no arguments, run self with arguments |
|||
Run,%a_scriptFullpath% -i Lib\* -c files.c --verbose -o files.o --Optimze |
|||
ExitApp |
|||
} |
|||
;Parse arguments |
|||
i:=0, msg:="" |
|||
while( i++ < argc ) { |
|||
c:=SubStr(args[i],1,1) |
|||
if c in -,/ ; List all switch chars |
|||
{ |
|||
if ( SubStr(args[i],1,2) == "--" ) ; if "--" is used like "--verbose" |
|||
msg:=msg args[i] "`t:`tTrue (Boolean)`n" ; parse as boolean |
|||
else |
|||
msg:=msg args[i] "`t:`t" args[++i] "`n" |
|||
} |
|||
else |
|||
msg:=msg args[i] "`t:`t(normal)`n" |
|||
} |
|||
MsgBox % "Parsed Arguments :`n" msg</lang> |
|||
'''Output (MsgBox):''' |
|||
<pre>Parsed Arguments : |
|||
-i : Lib\* |
|||
-c : files.c |
|||
--verbose : True (Boolean) |
|||
-o : files.o |
|||
--Optimze : True (Boolean)</pre> |
|||
=={{header|Bracmat}}== |
=={{header|Bracmat}}== |