JP1 Version 8 JP1/Script(UNIX(R)用)

[目次][用語][索引][前へ][次へ]

4.1.1 変数

<この項の構成>
(1) 変数名の付け方
(2) 使用できる変数の個数と容量
(3) 変数名として扱えないキーワード
(4) 予約変数
(5) 配列変数

(1) 変数名の付け方

注※
プロシージャとは,実行時に一つの単位として処理されるコマンドの集まりのことをいいます。JP1/Scriptでは,FunctionステートメントとSubステートメントで定義された一連の処理がこれに該当します。サブルーチンと同意語です。FunctionステートメントとSubステートメントの詳細は,「5.2 ステートメントの詳細」の「Function」,および「Sub」を参照してください。

(2) 使用できる変数の個数と容量

(3) 変数名として扱えないキーワード

変数名として扱えないキーワード(JP1/Scriptの予約語)を,表4-1に示します。

表4-1 変数名として扱えないキーワード

見出し 変数名として扱えないキーワード
A Abort,AbortAll,AbortRetryIgnore,Abs,AddStr,After,Alert,Alertness,AllDq,AllGV,Alt,And,Anyway,Append,AppliModal,ApplicationModal,Array,Asc,AscB,AscW,Atn,ATTR_ARCHIVE,ATTR_COMPRESSED,ATTR_HIDDEN,ATTR_NORMAL,ATTR_OFF,ATTR_OFFLINE,ATTR_ON,ATTR_READONLY,ATTR_SUBDIR,ATTR_SYSTEM,ATTR_TEMPORARY,AuditFailure,AuditSuccess
B Backup,Beep,Before,BitmapHide,BitmapShow,Boolean,ByRef,Byte,
ByVal
C CalcDate,CalcTime,Call,CallDll,CallSpt,Cancel,CancelStartUp,CancelUserErr,Case,CatFiles,CBool,CByte,CDate,CDbl,CDROM,CheckDirName,CheckDriveType,Chr,ChrB,ChrW,Clnt,Clear,CLng,Close,Command,CompDate,CompTime,Continue,Copy,CopyEX,CopyFile,Cos,Create,CreateObject,Critical,CSng,CStr,Ctrl,Ctrl_Alt,Currency,Cur_Desktop,Cur_Program,Cur_Startmenu,Cur_Startup
D Date,DateSerial,DateValue,Day,DayU,Debug,Delete,DeleteDir,DeleteFile,DeleteGroup,DeleteGV,DeleteShortcut,DependG,DependM,Description,Destroy,Dim,DISABLE,DispName,Do,Double
E Each,Else,ElseIf,Emergence,Emergency,Empty,End,Enter,EntryStartUp,Eqv,Equal,Erase,Err,Errctl,Error,ErrSkip,ErrSkip2,Esc,Ex,Exclamation,ExclDir,Exec,EXEC_RUNNING,EXEC_STOPPED,Exit,ExitWindows,Exp,Expand,Explicit
F False,FileTime,Fix,FIXED,For,Force,Format,FreeExt,Function,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12
G GetArrayCount,GetDateCount,GetDiskFreeSpace,GetEnv,GetEnvironment,GetErrorMessage,GetExecStatus,GetFileAttr,GetFileAttribute,GetFileSize,GetFileTime,GetGV,GetPath,GetProcessCount,GetProcessInfo,GetServiceName,GetTextPosition,GetTimeCount,GetVerInfo,GetVersionInfo,GetVolLabel,GetVolumeLabel,GoTo,Group
H HelpContext,HelpFile,Hex,HIDE,HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,Hour,HourU,
I IMEventMessage,IniRead,IniWrite,InputBox,InputLine, InStr,InStrB,Int,Integer,Is,IsArray,IsDate,IsDef,IsDefine,IsEmpty,IsEmptyDir,IsEmptyGroup,IsEmptyReg,IsExistDir,IsExistFile,IsExistRegKey,IsExistService,IsFileAttr,IsFileAttribute,IsLeapYear,IsLower,IsMultiChar,IsNew,IsNull,IsNumeric,IsObject,IsSingleChar,IsUpper,IsWriteableDir
J JOBCancel,JOBHold,JOBSubmit,JOBWait,JP1Script
K KB
L LBound,LCase,Lcl_Desktop,Lcl_Program,Lcl_Startmenu,Lcl_Startup,Left,LeftB,Len,LenB,Log,Logoff,Logon,LOGON_FAILED,Long,Loop,LTrim
M MakeDir,MakeGroup,MakePath,MakeShortcut,Max,MB,Menu,Message,MessageBox,MessageEventLog,Mid,MidB,Min,Minus,Minute,MinuteU,Mod,Mod=,Modify,Month,MonthU,Move
N Name,NeedDq,NetExec,NetExecEX,Next,No,NoExec,None,NoOverwrite,NOPREFIX,NoReplace,Normal,Not,NotEqual,Nothing,Notice,Now,Null,Number
O Object,Oct,OK,OKCancel,On,Option,Or,Overwrite,OverwriteOnly,
P Password,Path,Pause,Pile,Plus,Poweroff,Preserve,Private,ProcessEnv,Public
Q Question
R Raise,RAMDISK,Randomize,ReadOnly,ReadWrite,Reboot,ReDim,REG_BINARY,RegDelete,RegDeleteKey,REG_DWORD,REG_DWORD_BIG_ENDIAN,REG_EXPAND_SZ,REG_LINK,REG_MULTI_SZ,REG_NONE,RegRead,REG_RESOURCE_LIST,REG_SZ,RegWrite,Rem,REMOTE,REMOVABLE,Release,Remove,Rename,Replace,ResetStandardFile,ResetStdFile,Restart,Resume,Retry,RetryCancel,Right,RightB,Rnd,RTrim
S Second,SecondU,Security,Select,SeparateStr,SeparateStrCount,Service,SERVICE_AUTO_START,SERVICE_BOOT_START,ServiceChange,ServiceContinue,SERVICE_CONTINUE_PENDING,ServiceControl,SERVICE_CONTROL_CONTINUE,SERVICE_CONTROL_PAUSE,SERVICE_CONTROL_STOP,ServiceCreate,ServiceDelete,SERVICE_DEMAND_START,SERVICE_DISABLED,SERVICE_ERROR_CRITICAL,SERVICE_ERROR_IGNORE,SERVICE_ERROR_NORMAL,SERVICE_ERROR_SEVERE,SERVICE_FILE_SYSTEM_DRIVER,ServiceGetValue,SERVICE_KERNEL_DRIVER,ServicePause,SERVICE_PAUSE,SERVICE_PAUSE_PENDING,ServiceQuery,ServiceRefer,SERVICE_RUNNING,ServiceSetValue,ServiceStart,SERVICE_START_PENDING,ServiceStop,SERVICE_STOPPED,SERVICE_STOP_PENDING,SERVICE_SYSTEM_START,SERVICE_WIN32_OWN_PROCESS,SERVICE_WIN32_SHARE_PROCESS,Set,SetEnv,SetEnvironment,SetFileAttr,SetFileAttribute,SetFileTime,SetGV,SetPath,SetStandardFile,SetStdFile,SetVolLabel,SetVolumeLabel,Shift,Shift_Alt,Shift_Ctrl,Shift_Ctrl_Alt,Shutdown,Sgn,Sin,Single,Skip,Sleep,Source,Space,SplitFile,SplitPath,Sqr,Start,StartName,StdError,StdInput,StdOutput,Step,Stop,Str,StrComp,String,StringJ,Sub,SubDirToo,Submit,Syntax,Sysmodal,SystemEnv,SystemModal,
T Tan,Target_DispClear,Target_DispOff,Target_DispOn,Target_File,Target_SPAFile,Target_SPXFile,TempDir,TempFile,TerminateProcess,TextClose,TextFileReplace,TextOnly,TextOpen,TextRead,TextSeek,TextWrite,Then,Time,Timeout,TimeSerial,TimeValue,To,ToBegin,ToEnd,Trace,Trim,True,Twice,Type,TypeOf
U UBound,UCase,UnSubmit,Until,Update,UserEnv,UserErr
V Val,Variant,VarType,Version,VersionUp
W Wait,WaitAll,WaitForExec,Warning,Weekday,Wend,While,WriteOnly
X Xor
Y Year,Yes,YesNo,YesNoCancel
記号 ^,^=,-,-=,*,*=,/,/=,\,\=,+,+=,&,&=,?,=,<>,<,>,<=,>=

注※
これらのキーワードは,今後,キーワードとしてサポートしていく予定です。すでにキーワードとして確保していますので,変数名として扱えません。

(4) 予約変数

JP1/Scriptには,特定のデータ(システム情報,およびコマンドの戻り値)を参照できる予約変数があります。予約変数の先頭には,アンダスコア(_)を付けます。

予約変数を表4-2に示します。

表4-2 予約変数

分類 予約変数 意味
システム予約変数 _BIN_ 実行時の起動ディレクトリ名です。末尾に/が付きます。
_COMP_ 現在のシステムにログインしているコンピュータ名です。
_SCF_ 実行中のスクリプトファイルのディレクトリ名です。末尾に/が付きます。
_SCF_FIL_ 実行中のスクリプトファイルのファイル名です。拡張子は付きません。
_SCF_EXT_ スクリプトファイルの拡張子(.SPT)です。
_SVF_EXT_ 実行環境ファイルの拡張子(.SPV)です。
_TEMP_ 一時ファイル用のディレクトリ名です。末尾に/が付きます。
_USER_ 現在のシステムにログインしているユーザ名です。
プロセス予約変数 _PROC_ID_ 実行中のスクリプトのプロセス識別子です。
_ARGV_ %1以降の位置変数を格納した配列変数です。%0は含みません。_ARGV_(n)(nは1以上の数字)の形式で参照できます。
_ARGV_CNT_ %1以降の位置変数の合計数です。%0は含みません。
コマンド戻り値予約変数 _COPY_RTN_ Copyコマンドまたはコマンドの実行結果です。
_COPY_CNT_ Copyコマンドまたはコマンドでコピーしたファイルの数です。
_COPY_SKIP_CNT_ Copyコマンドまたはコマンドでコピーされなかったファイルの数です。
_COPY_SKIP2_CNT_ CopyコマンドまたはコマンドのErrSkip2指定で無視されたファイルの数です。
_EXEC_RTN_ Exec,およびコマンドの戻り値です。符号付きの数値(0〜255)です。
_RTN_ エラー詳細コードです。符号付きの数値です。
文字コード予約変数 _NL_ 改行文字です。
_TAB_ タブ文字です。
エラー詳細コード予約変数
_NO_ERR_ エラーはありません。
_ERR_EOF_ ファイルの終わりに達しました。
_ERR_TIMEOUT_ タイムアウト時間を経過しました。
_ERR_FILE_ ファイルが見つかりません。
_ERR_ACCESS_ アクセスが拒否されました。
_ERR_READY_ デバイスが準備できていません。
_ERR_EXCLUSIVE_ ファイルはほかでアクセス中です。
_ERR_FILE_SIZE_ 取得した値が変数の上限値を超えているため,値を変数に格納できません。
_ERR_NOT_LARGE_FILE_ 指定したファイルの容量が制限値を超えています。
_ERR_FILE_POSITION_ 読み書き開始位置が2,147,483,647を超えています。

(5) 配列変数

JP1/Scriptには,データの順をインデックス番号で指定する配列変数があります。

配列変数には一次元配列変数二次元配列変数があります。

一次元配列変数の場合は,指定するインデックス番号は要素を表します。

ニ次元配列変数の場合は,一番目に指定するインデックス番号は行要素を,二番目に指定するインデックス番号は列要素を表します。二次元配列変数「T(5,6)」のデータ構造例を図4-1に示します。

図4-1 二次元配列変数「T(5,6)」のデータ構造例

[図データ]

(a) 配列変数の記述規則
(b) 配列変数のデータ構造例