起動時パラメータ

プログラムの起動時にパラメータを渡します。

受け取った引数の型はUNICODE文字列のため、計算など数値として扱う場合には注意が必要です。

「ユーザー アカウント制御」でデバイスの変更を拒否すると、「アクセスは拒否されました」と出力されます。

構文
// 呼び出す側
CALL UWSCファイル名( 引数1, 引数2, … )

// 呼び出される側
PARAM_STR[n]
n = 0, 1, …
引数
戻り値

コマンドプロンプトから呼び出し

UWSC.exeのパスが通っていれば以下のように呼び出せます。

UWSC 呼び出すUWSCファイル名 引数1 引数2 引数3 …

UWSCファイル名は絶対パスまたは相対パスで指定します。

ディレクトリを変更する場合は、以下のように指定します。

CD ディレクトリ名

ドライブが違う場合は、以下のように指定します。

pushd ドライブ名

以下は、「D:\Desktop\called.uws」に引数「1」,「2」,「3」を渡して呼び出す例。

C:\Windows\System32>pushd D:\
D:\Desktop>UWSC called.uws 1 2 3

パスが通っているか確認する方法

コマンドプロンプトを起動して「UWSC」と入力しEnterを押したとき、以下の文章が表示された場合はパスが通っていません。

C:\Users\username>UWSC
'UWSC' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

その場合は、「UWSC.exe」がある以下のディレクトリをPathに追加します。

C:\Program Files\UWSC

「コントロールパネル > システムとセキュリティ > システム」で「設定 > システム > 詳細情報」が開くので、右側にある関連設定の「システムの詳細設定」をクリックします。

「システムのプロパティ」の詳細設定タブから「環境変数」をクリックして開いた「システム環境変数」のPath変数にUWSCのディレクトリを追加します。

ユーザーアカウント制御の設定

UWSCを実行するときに毎回ユーザーアカウント制御の確認画面が表示される場合、以下の手順で非表示にすることができます。

「Win + R」で「ファイル名を指定して実行」を起動し、「UserAccountControlSettings」と入力し[OK]。

「ユーザー アカウント制御の設定」が起動したら、以下のようにスクロールバーを一番下の「通知しない」に下げることで非表示にすることができます。しかし、この設定を行うと他のアプリのユーザー アカウント制御も表示されなくなってしまうため注意が必要です。

「ユーザー アカウント制御の設定」は以下のプログラムでも起動できます。

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.FileRun

DIM ID = GETID("ファイル名を指定して実行", "#32770")
SENDSTR(ID, "UserAccountControlSettings")
CLKITEM(ID, "OK", ITM_BTN)

引数の数を出力

受け取った引数の数を出力します。

PRINT LENGTH(PARAM_STR)

引数を出力

受け取った引数をすべて出力します。

FOR item in PARAM_STR
	PRINT item
NEXT

渡された引数の合計値を求める

PRINT CALCARRAY(PARAM_STR, CALC_ADD)
UWSC.exe 合計値.uws 1 2 3
結果
6

引数の有無で処理分岐

IFB LENGTH(PARAM_STR) <> 0 THEN
	// 引数があるとき
ELSE
	// 引数がないとき
ENDIF

第一引数に指定した値の数だけループ

プログラムの起動時に第一引数に指定した値の回数だけループ処理を行います。

FOR i = 1 TO PARAM_STR[0]
	PRINT i
NEXT
UWSC.exe 繰り返し.uws 3
結果
1
2
3