独自の拡張(外部プログラムに制御を移す)

EXECUTE ファイル名
EXECUTE ファイル名 WITH (式,式,・・・,式)
EXECUTE ファイル名 WITH (式,式,・・・,式),NOQUOTES
EXECUTE NOWAIT ファイル名
EXECUTE NOWAIT ファイル名 WITH (式,式,・・・,式)
EXECUTE NOWAIT ファイル名 WITH (式,式,・・・,式),NOQUOTES
  ファイル名は,文字列式を書く。

 ファイル名に実行形式ファイル(EXEファイルなど)を指定すると,そのファイルを起動する。
 WITH節を書くと,式の値が評価されて,数値は文字化され,文字列は前後を引用符で囲まれてコマンドライン引数になる。ただし,,NOQUOTES を書くと,引用符を付加しない。
 NOWAITを書くと,起動された外部プログラムの終了を待たずに次の行に進む。NOWAITがないと,その終了を待つ。


EXECUTE "c:\windows\notepad.exe" WITH ("C:\BASICw32\README.TXT")

 ファイル名にBASICプログラムの拡張子を持ったファイルを指定すると,BASIC.EXEを起動してBASICプログラムを実行する。WITH節に書かれた式の値は,PROGRAM文の引数として渡される。
 BASICプログラム,実行形式ファイル以外のファイルを指定すると,関連付けを利用してそのファイルを開く。WITH節に書かれた式の値は,追加のパラメータとしてファイル名に続けて渡される。

 ファイル名で指定されたファイルは,カレントディレクトリ,BASIC起動ディレクトリ,Windowsの環境変数 PATH に指定されたディレクトリの順に検索する。

 EXECUTE文でBASIC.EXEを起動してBASICプログラムを実行させることができる。
BASICプログラムファイル名は,WITH節に書く。
BASICプログラムがPROGRAM文を持つとき,PROGRAM文の引数は,WITH節に続けて書く。
BASIC.EXEの起動時パラメータは,BASICプログラムファイル名より前に指定する。

EXECUTE "A:\ABC.BAS"
EXECUTE "BASIC.EXE" WITH("A:\ABC.BAS")
  A:\ABC.BASを実行し,プログラムの実行が終わると,BASIC.EXEも終了する。
EXECUTE "BASIC.EXE" WITH("/OR","A:\ABC.BAS")
  "A:\ABC.BAS"を読み込んで実行し,実行後,終了しないで待機する。
EXECUTE "BASIC.EXE" WITH("/NR","A:\ABC.BAS")
  "A:\ABC.BAS"を読み込み,実行しないで待機する。
EXECUTE "A:\ABC.BAS" WITH(12, "Quiz")
EXECUTE "BASIC.EXE" WITH("A:\ABC.BAS" ,12, "Quiz")
  ABC.BASがPROGRAM文を持つとき,その引数に12と"Quiz"を代入して実行する。
EXECUTE NOWAIT "A:\ABC.BAS"
EXECUTE NOWAIT "BASIC.EXE" WITH("A:\ABC.BAS")
  A:\ABC.BASと現在のプログラムを平行して実行する。

<補足> Windowsの仕様により,コマンドパラメータの長さには上限がある(512バイト程度?)。また,コマンドパラメータとして渡せない文字列も存在する。


PLAY 文字列式
 関連付けを利用して文字列式が表すファイルをplayする。
PLAY NOWAIT 文字列式
 関連付けを利用して文字列式が表すファイルをplayする。指定されたプログラムの実行が終わるのを待たずに次の行に進む。
<参照>PlaySound

ASSOC PRINT 文字列式
 関連付けを利用して文字列式が表すファイルをprintする。