JP1/Script(Windows(R)用)

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

1.9.1 排他エラーリトライ機能

更新された直後のファイルやフォルダにアクセスすると,ディスクへの書き込み遅延の影響によって一時的な排他エラーが発生することがあります。排他エラーリトライ機能を有効にすると,ファイルやフォルダで排他エラーが発生した場合,コマンドによってファイルへのアクセスをリトライするため,スクリプトにリトライ処理を記述する必要がなくなります。

排他エラーリトライ機能は,排他が解除されるか,または排他エラー以外のエラーが発生するまで,設定されたリトライ回数およびリトライ待ち時間に従ってファイルやフォルダへのアクセスをリトライします。排他エラーリトライ機能の動作は,次のとおりです。

リトライ中に排他が解除されて,ファイルやフォルダに正常にアクセスできた場合
リトライを終了して,コマンドやステートメントの実行を続行します。
リトライ中に排他エラー以外のエラーが発生した場合
リトライを終了して,コマンドやステートメントの実行を排他エラー以外のエラーで終了します。
リトライしても排他が解除されなかった場合
コマンドやステートメントの実行を排他エラーで終了します。

特定のコマンドを呼び出した場合だけリトライする場合は,SetRetryModeコマンドを使用してください。SetRetryModeコマンドを使用すると,排他エラーリトライ機能が無効でも,特定のコマンドを呼び出すときだけ排他エラーリトライ機能を有効にできます。また,コマンド単位にリトライ回数およびリトライ待ち時間を設定してリトライすることもできます。排他エラーリトライ機能を利用できるコマンドについては,「1.9.1(2) 排他エラーリトライ機能の対象となるコマンドおよびステートメント」,SetRetryModeコマンドについては,「9.9.2 SetRetryMode (排他エラーリトライ機能を設定する)」を参照してください。

<この項の構成>
(1) リトライ回数およびリトライ待ち時間
(2) 排他エラーリトライ機能の対象となるコマンドおよびステートメント

(1) リトライ回数およびリトライ待ち時間

リトライ回数およびリトライ待ち時間は,レジストリの値に設定します。

(a) リトライ回数(単位:回)
〔レジストリキー〕
HKEY_LOCAL_MACHINE\SOFTWARE\Hitachi\JP1/Script\SPTX
〔値名〕
IOErrorRetryCount
〔値のデータタイプ〕
REG_DWORD
〔値〕
  • 0〜100の範囲で設定します。デフォルトは0です。
  • 0を設定した場合は,リトライしません。
  • 値が設定されていない場合や,0〜100の範囲外の値が設定された場合は,デフォルトの0を仮定します。
〔設定が有効になるタイミング〕
スクリプトファイルの次回実行時
(b) リトライ待ち時間(単位:ミリ秒)
〔レジストリキー〕
HKEY_LOCAL_MACHINE\SOFTWARE\Hitachi\JP1/Script\SPTX
〔値名〕
IOErrorRetryWaitTime
〔値のデータタイプ〕
REG_DWORD
〔値〕
  • 100〜60,000の範囲で設定します。デフォルトは100です。
  • 値が設定されていない場合や,100〜100,000の範囲外の値が設定された場合は,デフォルトの100を仮定します。
〔設定が有効になるタイミング〕
スクリプトファイルの次回実行時
(c) 設定が有効になるタイミングおよび有効となる範囲

レジストリに値を設定したあとに実行するすべてのスクリプトで有効です。レジストリに設定した値は,値を設定したコンピュータでだけ有効です。

(d) リトライ回数およびリトライ待ち時間の変更

レジストリで設定したリトライ回数およびリトライ待ち時間は,SetRetryModeコマンドで変更できます。変更は,ResetRetryModeコマンドが実行されるまで有効です。

(2) 排他エラーリトライ機能の対象となるコマンドおよびステートメント

排他エラーリトライ機能の対象となるコマンドおよびステートメントの一覧を,次の表に示します。

表1-6 排他エラーリトライ機能の対象となるコマンドおよびステートメント

区分 分類 コマンドまたはステートメント
基本コマンド 変数操作 SetGV
GetGV
DeleteGV
ファイル・フォルダ操作 IniRead
IniWrite
TextFileReplace
TextOpen
MakeDir
DeleteDir
DeleteFile
Rename
TempDir
TempFile
SetFileAttributeまたはSetFileAttr
GetFileAttributeまたはGetFileAttr
SetFileTime
GetFileTime
GetFileSize
GetVersionInfoまたはGetVerInfo
SplitFile
CatFiles
SetStandardFileまたはSetStdFile
SetPath
Copy
メッセージ出力 Message
メニュー呼び出し Menu
チェック処理 IsEmptyDir
IsExistDir
IsExistFile
IsWriteableDir
IsFileAttributeまたはIsFileAttr
IsNew
外部プログラム呼び出し Exec
NetExec
CallSpt
自動起動処理 EntryStartUp
CancelStartUp
特殊コマンド レジストリ操作 RegRead
RegWrite
RegDelete
RegDeleteKey
画像・表示処理 BitmapShow
ショートカット操作 MakeGroup
DeleteGroup
DeleteShortcut
プロセス監視 GetProcessCount
TerminateProcess
ステートメント For...End For