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

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

SplitFile(ファイルを分割する)

機能

ファイルを指定したサイズで分割します。

形式

SplitFile ( FilePath , SplitSize , 〔DirPath〕 , 〔Option〕 〔, SplitCnt〕 )

指定項目

FilePath

分割するファイルのフルパスを文字列,または値を格納した変数名で指定します。

SplitSize

分割するサイズを数値,または値を格納した変数名で指定します。サイズはバイト単位で指定します。

DirPath

分割したファイルを格納するディレクトリ名を文字列,または値を格納した変数名で指定します。

この値は省略できます。省略した場合,FilePathで指定したファイルが存在するディレクトリを仮定します。

Option

オプションを次の値で指定します。

意味
Delete ファイルを分割したあと,FilePathで指定したファイルを削除します。

SplitCnt

分割したファイル数を受け取る変数名を指定します。必要がない場合は省略します。

説明

指定したファイルを指定したサイズで分割し,分割したファイルを指定したディレクトリに格納します。コマンドが正常に実行された場合は真(True)を,エラーが発生した場合は偽(False)を,コマンドの実行結果として返します。

分割したファイルのファイル名はFilePathで指定したファイル名の末尾に拡張子.XXX(XXXは001からの数字で,999を超えた場合1,000からの数字)を付けた値になります。

JP1/Script 07-51以降では,ラージファイルが使用できます。ただし,分割するサイズに2,147,483,648バイト以上は,指定できません。

' ファイル"TESTFILE.TXT"を分割して一時ディレクトリ下に"TESTFILE.TXT.001"
' からsplCnt個の分割されたファイルを作成し,別のディレクトリに格納する。
' (参考)1.44MBのFD = 1423KB = 1423 * 1024B
Dim  file1 ,size1 ,splCnt ,filePath
file1 = "TESTFILE.TXT"
size1 = 1423 * 1024
SplitFile ( file1 ,size1 ,_TEMP_ , ,splCnt )
 
Dim  cnt1
For  cnt1 = 1 To splCnt
  ' 分割後ファイル名の作成
  filePath = _TEMP_+file1
  Select Case  Len ( cnt1 )
    Case 1
      filePath = filePath+".00"+cnt1
    Case 2
      filePath = filePath+".0"+cnt1
    Case Else
      filePath = filePath+"."+cnt1
  End Select
 
  ' 一時ディレクトリから別ディレクトリへコピー
 Copy ( filePath ,"/work/" ,Overwrite )
  If  splCnt - cnt1 <= 0  Then
    Message ( Target_Dispon ,"実行状況" ,"複写が終了しました。" )
    Exit For
  End
Next