1.9.1 排他エラーリトライ機能
更新された直後のファイルやフォルダにアクセスすると,ディスクへの書き込み遅延の影響によって一時的な排他エラーが発生することがあります。排他エラーリトライ機能を有効にすると,ファイルやフォルダで排他エラーが発生した場合,コマンドによってファイルへのアクセスをリトライするため,スクリプトにリトライ処理を記述する必要がなくなります。
排他エラーリトライ機能は,排他が解除されるか,または排他エラー以外のエラーが発生するまで,設定されたリトライ回数およびリトライ待ち時間に従ってファイルやフォルダへのアクセスをリトライします。排他エラーリトライ機能の動作は,次のとおりです。
- リトライ中に排他が解除されて,ファイルやフォルダに正常にアクセスできた場合
-
リトライを終了して,コマンドやステートメントの実行を続行します。
- リトライ中に排他エラー以外のエラーが発生した場合
-
リトライを終了して,コマンドやステートメントの実行を排他エラー以外のエラーで終了します。
- リトライしても排他が解除されなかった場合
-
コマンドやステートメントの実行を排他エラーで終了します。
特定のコマンドを呼び出した場合だけリトライする場合は,SetRetryModeコマンドを使用してください。SetRetryModeコマンドを使用すると,排他エラーリトライ機能が無効でも,特定のコマンドを呼び出すときだけ排他エラーリトライ機能を有効にできます。また,コマンド単位にリトライ回数およびリトライ待ち時間を設定してリトライすることもできます。排他エラーリトライ機能を利用できるコマンドについては,「1.9.1(2) 排他エラーリトライ機能の対象となるコマンドおよびステートメント」,SetRetryModeコマンドについては,「9.9.2 SetRetryMode (排他エラーリトライ機能を設定する)」を参照してください。
(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) 排他エラーリトライ機能の対象となるコマンドおよびステートメント
排他エラーリトライ機能の対象となるコマンドおよびステートメントの一覧を,次の表に示します。
区分 |
分類 |
コマンドまたはステートメント |
---|---|---|
基本コマンド |
変数操作 |
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 |