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