ファイルの有無の確認、およびファイルの作成/更新/削除を待つためのコマンドです。
記述形式
chkfile [-wait|-delete] {ドライブ:ファイル名|-file:ドライブ:リストファイル名 [-AND|-OR]} |
オペランド
-wait
ファイルが存在しない場合、作成されるまで待つことを指定します。
本パラメタは、小文字で指定してください。
-delete
ファイルが削除されるまで待つことを指定します。
本パラメタは、小文字で指定してください。
ドライブ:ファイル名
対象とするファイル名を、ドライブからフルパスで指定します。
-waitオペランド、-updateオペランドおよび-deleteオペランドの指定がない場合には、有無を確認するファイル名を指定します。
-file:ドライブ:リストファイル名
対象とするファイルを定義したファイル名を指定します。
-waitオペランド、-updateオペランドおよび-deleteオペランドの指定がない場合には、有無を確認するドライブ:ファイル名を記述したファイル名を指定します。
なお、対象とするファイルを定義したファイルには、複数のファイル名を記述することができます。
-AND|-OR
-fileオペランドでリストファイル名を指定した場合に、リストファイル中のすべてのファイルを対象にするか、任意の1ファイルを対象にするかを指定します。
省略するとリストファイル中のすべてファイルが対象となります。-wait、-updateおよび-deleteの各オペランドにおける動作を以下に示します。
-wait オペランドの場合:
-AND | リストファイル中のすべてのファイルが作成されるまで待ちます。すべてのファイルが既に存在する場合には、即復帰します。 |
-OR | リストファイル中のどれか1つのファイルが作成されるまで待ちます。ファイルが既に1つでも存在する場合には、即復帰します。 |
-update オペランドの場合:
-AND | リストファイル中のすべてのファイルが更新されるまで待ちます。 |
-OR | リストファイル中のどれか1つのファイルが更新されるまで待ちます。 |
-delete オペランドの場合:
-AND | リストファイル中のすべてのファイルが削除されるまで待ちます。ファイルが1つも存在しない場合には、復帰値1で異常終了します。 |
-OR | リストファイル中のどれか1つのファイルが削除されるまで待ちます。ファイルが既に1つでも存在しない場合には、即復帰します。 |
-update
ファイルが存在しない場合、作成されるまで待つことを指定します。
ファイルが存在した場合は、更新されるまで待つことを指定します。
本パラメタは、小文字で指定してください。
-d:yyyymmdd
ファイルが更新されたと判断する基準の年月日を指定します。
例えば、2002年3月5日の場合、-d:20020305と指定します。
本パラメタは、小文字で指定してください。
省略された場合は、現在の年月日以降となります。
-t:hhmm
ファイルが更新されたと判断する基準の時分を指定します。
例えば、13時35分の場合、-t:1335と指定します。
本パラメタは、小文字で指定してください。
省略された場合は、現在の時刻以降となります。
復帰値
復帰値 | 意味 |
---|---|
0 | ファイルが存在しました。または、ファイルが作成/更新/削除されました。 |
1 | ファイルが存在しません。 |
10 | 内部エラーが発生しました。 |
使用例1
2002年3月5日13時30分以降にd:\temp\fileが更新されれば正常終了します。
chkfile -update -d:20020305 -t:1330 d:\temp\file |
使用例2
2002年3月5日13時30分以降にd:\temp\list_file内に記述されているすべてのファイル(c:\a.txt, d:\b.txt, d:\c.txt)が更新されれば正常終了します。
chkfile -update -d:20020305 -t:1330 -file:d:\temp\list_file -AND |
d:\temp\list_fileの例
c:\a.txt d:\b.txt d:\c.txt |
参考
ジョブとして登録する
ファイル作成/更新/削除を契機としてジョブネットを自動起動させる場合、chkfileコマンドをジョブとしてスケジュールします。ジョブネット内の先頭ジョブとして登録することにより、ファイル作成/更新/削除を待ち合わせて後続の処理を行うことができます。
使用上の注意
-wait、-update、-deleteを指定して、ジョブとしてジョブスケジューラに登録した場合、ファイルが作成/更新/削除されるまで、実行中のままとなります。投入キューのジョブ経過時間の制限値や実行多重度を確認して、問題があればキューの設定値を変更してください。
chkfileはファイルの作成/更新/削除を待ち合わせるコマンドなので、ファイル転送が終了していることを保証するものではありません。ファイルのサイズが大きい場合、使用するファイル転送機能の仕様によっては、転送途中でファイルが変更されてしまい、転送が完了する前に待ち合わせが解けてしまう場合があります。このような場合は、送信側で目的のファイルを送信後に、送信完了を通知するための小サイズのファイルを送信して、このファイルの更新を待ち合わせることで目的のファイルの転送が完了したことを認識するようにしてください。
リストファイルには、1行につき1ファイル名を記述してください。空白やタブを含むことはできません(指定した文字すべてをファイル名と見なします)。