6.2.4 注意事項
コマンドラインを指定するときの注意事項について,次に示します。
-
指定したコマンドラインの値はスクリプトファイル単位で有効ですが,実行コンピュータのすべてのスクリプトファイルに対して有効にしたい場合は,次のレジストリにコマンドラインの値を設定してください。
- 〔レジストリキー〕
-
HKEY_LOCAL_MACHINE\Software\Hitachi\JP1/Script\SPTF\SPV
- 〔値名〕
-
CommandLine
- 〔値のデータタイプ〕
-
REG_SZ
- 〔値〕
-
コマンドラインの値
- 〔設定が有効になるタイミング〕
-
スクリプトファイルの次回実行時
- 注意事項
-
ダイアログとレジストリの両方にコマンドラインを指定している場合は,両方の指定が有効になります。ただし,ダイアログに"/SPXLV(3)",レジストリに"/SPXLV(0)"のように,同じパラメタに異なる指定をしている場合はダイアログの指定が優先されます。
-
JP1/Scriptサービス,Scriptランチャ,およびScriptランチャサービスのイベントログの出力を抑止する場合は,実行環境ファイルのコマンドラインではなく,上記レジストリに/NOEVLOG,または/NOEVLOG(4)を指定してください。
-
実行環境の設定(起動情報)ダイアログ,または実行環境(コマンドライン)の設定ダイアログのコマンドラインに/NOEVLOG,または/NOEVLOG(n,n,…)が指定された場合,/SPALV(n)や/SPXLV(n)と異なり位置変数として扱われます。位置変数として扱わない場合は,次のレジストリの値に1を設定してください。
なお,ユーザプログラムなどから実行形式(SPTXE.EXE)でスクリプトファイルを実行する場合のコマンドライン,またはレジストリのCommandLineのNOEVLOG,または/NOEVLOG(n,n,…)は,次のレジストリ値に関係なく,位置変数として扱われません。
- 〔レジストリキー〕
-
HKEY_LOCAL_MACHINE\Software\Hitachi\JP1/Script\SPTX
- 〔値名〕
-
NoEvLog_Opt
- 〔値のデータタイプ〕
-
REG_DWORD
- 〔値〕
-
0:/NOEVLOG,または/NOEVLOG(n,n,…)を位置変数として扱う(初期値)
1:/NOEVLOG,または/NOEVLOG(n,n,…)を位置変数として扱わない
- 〔設定が有効になるタイミング〕
-
スクリプトファイルの次回実行時
-
n個のダブルクォーテーション(")を文字としてそのままパラメタに含める場合は,(n*2)個のダブルクォーテーション(")を指定して,パラメタ全体をダブルクォーテーション(")で囲みます。
このとき,次のレジストリに1を設定してください。※
なお,NetExecコマンドを使用する場合,呼び出すコンピュータ上のレジストリにも1を設定してください。
- 〔レジストリキー〕
-
HKEY_LOCAL_MACHINE\Software\Hitachi\JP1/Script\SPTX
- 〔値名〕
-
DQString_Opt
- 〔値のデータタイプ〕
-
REG_DWORD
- 〔値〕
-
0:パラメタ文字列にn個のダブルクォーテーション(")を含む場合,(n*2)個のダブルクォーテーション(")を指定し,パラメタ全体をダブルクォーテーション(")で囲む指定が無効になる(初期値)
1:パラメタ文字列にn個のダブルクォーテーション(")を含む場合,(n*2)個のダブルクォーテーション(")を指定し,パラメタ全体をダブルクォーテーション(")で囲む指定が有効になる
- 〔設定が有効になるタイミング〕
-
スクリプトファイルの次回実行時
上記のレジストリに1以外を設定した場合,スクリプトファイルの実行形式によって,指定するダブルクォーテーション(")の数が異なります。
-
ユーザプログラムなどから実行形式(SPTXE.EXE)でコマンドラインを指定してスクリプトファイルを実行する場合
(n*4)個のダブルクォーテーション(")とパラメタ全体を囲むダブルクォーテーション(")で指定します。
(例)パラメタ文字列にa"bを指定する
SPTXE.EXE SPT.spt "a""""b"
-
Execコマンドからパラメタを指定してスクリプトファイルを呼び出す場合
(((n*4)*2) + 2)個のダブルクォーテーション(")とパラメタ全体を囲むダブルクォーテーション(")で指定します。
(例)パラメタ文字列にa"bを指定する
Exec(_SCF_+"ABC.SPT", True ,"a""""""""""b")
-
NetExecコマンドからパラメタを指定してスクリプトファイルを呼び出す場合
((((n*4)*2)*2)*2)個のダブルクォーテーション(")とパラメタ全体を囲む15個のダブルクォーテーション(")で指定します。
(例)パラメタ文字列にa"bを指定する
NetExec ( comp1,_TEMP_+"NETWORK.SPT" ,True , ,False , _
, """""""""""""""a""""""""""""""""""""""""""""""""b""""""""""""""")
- 注※
-
このレジストリを設定しない場合,指定方法が複雑になりますので,新規のシステム開発時などは,この設定をすることをお勧めします。
-
コマンドラインのパラメタの指定が,スクリプト起動時とスクリプトの実行環境ファイルの両方にある場合,両方の指定が有効になります。この場合,スクリプト起動時のコマンドラインのパラメタが先,実行環境ファイルのコマンドラインのパラメタが後になります。