HSPでコマンドラインを分解する

とりあえずHSPでコマンドライン分解するやつ書いた。

とりあえずHSPでコマンドライン分解するやつ書いた。

  • タグ:
  • タグはありません
#runtime "hsp3cl"
#cmpopt varinit 1
#module Cmder
#define dquot "$__DoubleQuotation__$"
#define space "$__EscaprSpacE__$"
#deffunc local refArgs array args
cmd=dir_cmdline
strrep cmd,"\\\"",dquot
sdim dbreaks
split cmd,"\"",dbreaks
cmd=""
foreach dbreaks
if cnt\2=0 {
while -1!=instr(dbreaks(cnt),," ")
strrep dbreaks(cnt)," "," "
wend
}
else {
strrep dbreaks(cnt)," ",space
}
cmd+=dbreaks(cnt)
loop
split cmd," ",args
foreach args
strrep args(cnt),space," "
strrep args(cnt),dquot,"\""
loop
return
#global
sdim args
refArgs@Cmder args
foreach args
mes args.cnt+
loop
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX