T
op
S
CRIPTS
AUTO
M
OBILES
D
OWNLOADS
L
INK
B
BS
A
BOUT
F
EEDBACK
コマンドラインを分割
説明
プログラムに渡されたコマンドラインを解析し、スペースで分割します。クオーテーションで囲まれた半角スペースにも対応。
ソースコード
HEADに記述
<HTA:APPLICATION ID="objHTA"> <SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript"> <!-- alert(splitCommandLine().join("\n")) function splitCommandLine(){ var CmdLin = objHTA.commandLine //つながった形の引数 var i=0 //現在の文字位置を記憶 var inflag=false //クオーテーションの中か var argc=0 //現在の配列の添字 var argv = new Array() //分割した引数を収納 argv[0] = "" //初期化 //引数を一字ずつチェック while(CmdLin.charAt(i) != ""){ //現在の文字が「ダブルクオーテーション」で、 //現在の位置が先頭ではないか、一つ前の文字が「\」でない場合 //つまりふつうのダブルクオーテーションのとき if (CmdLin.charAt(i) == "\"" && (i == 0 || (CmdLin.charAt(i-1) != "\\"))){ //フラッグを反転 inflag = !inflag } //現在の文字が「\」ではなく //次の文字が「ダブルクオーテーション」でもない場合 //つまり普通の文字(次がダブルクオーテーションの場合、現在の\は打ち消しに使われている) else if(CmdLin.charAt(i) != "\\" && CmdLin.charAt(i+1) != "\""){ //フラッグがたっておらず("で囲まれてない)、 //現在の文字が半角スペース if (!inflag && CmdLin.charAt(i) == " "){ //配列の添字を一つ増やし、次の配列を初期化 argv[++argc] = "" } //普通の文字または"で囲まれた半角スペース else{ //配列に文字を追加 argv[argc] += CmdLin.charAt(i) } } //次の文字へ移動 i++; } //空の配列を削除 for(var i = 0; i < argv.length; i++){ if(argv[i] == ""){ argv.splice(i,1) i-- } } return argv } //--> </SCRIPT>
ダウンロード
arg.zip
- [BACK] -
|
AUTO
M
OBILES
|
D
OWNLOADS
|
L
INK
|
B
BS
|
A
BOUT
|
F
EEDBACK
Copyright © 1999-2005 By よーすけ
mailto:<
web@@@write-off.cside.com
>