dadllfile_path

使用法記述

このライブラリには、文字 '#' の拡張やパスの構築など、ファイルとパスを扱う関数が含まれています。

制限事項: このライブラリ内の関数は、現行ではドライブ名 (\\server\data\file など) を扱うことはできません。

DLL プロトタイプ
 function extern long check.and.create.dir(
const string path() )
前 : isspace(path) でない
後 : パス <path> が存在しなければ、作成される
返値: パス <path> の有無 (あるいは、作成されたかどうか)
説明 : この関数は、必要ならばサブディレクトリも作成します。${<環境変数>} を使用することもできますが、${<環境変数>} のサブディレクトリはテストされません。

function extern string expand.path(
const string path(),
[ long comp ] )
前 : パス (strip されている必要はありません)
後 : パス (strip 済み)。# 文字はすべて会社番号 comp (未指定の場合は現行会社) で置き換えられます。

function extern string get.full.file(
const string path(),
const string file() )
前 : 各パラメータは strip されていなくともかまわない
返値: 完全なファイル名
説明 : この関数は、パス名とファイル名を 「パス名/ファイル名」 の形式に結合しようと試みます。
この処理は、以下の場合にのみ行われます。
- パス名およびファイル名の両方が空ではない
- ファイル名自体が絶対パスではない (先頭の文字が / または $ ではない)
上記以外の場合には、ファイル名のみが返値となります。

function extern string get.log.filename(
domain daxch.txch xch.type,
const domain daxch.cxch xch.scheme,
const domain daxch.cbat batch,
long run.num,
domain daxch.pint try.num,
const string seq.path(),
[ long comp ] )
前 : 各パラメータは strip されていなくともかまわない
返値: ログファイルを格納する場所の完全なファイル名
- 標準インポート:

<seq.path>/<xch.scheme>.<run.num>.i/log.<batch>.<run.num>.<try.num>

- 非標準インポート: <seq.path>/log.<batch>.<run.num>.<try.num>

- 標準エクスポート: 

<seq.path>/<xch.scheme>.<run.num>.e/exp.<batch>.<run.num>.<try.num>

- 非標準エクスポート:

<seq.path>/exp.<batch>.<run.num>.<try.num>

function extern string get.object.path(
const domain daxch.cxch xch.scheme,
[ long comp ] )
前 : true
返値: オブジェクト (およびエラーファイル) の格納先となるパス。xch.scheme が存在しない場合は空

function extern get.path.filename(
const string full.path(),
ref string path.name(),
ref string file.name() )
前 : true
後 : <full.path> が、パス部分 (<path.name>) とファイル名部分 (<file.name>) とに strip されます。

function extern string get.seq.filename(
domain daxch.txch xch.type,
const domain daxch.cxch xch.scheme,
long run.num,
const string seq.path(),
const string sub.dir(),
const string seq.file(),
[ long comp ] )
前 : 各パラメータは strip されていなくともかまわない
返値: 交換ファイルを置く (ことになる) 場所の完全なファイル名 (# 文字は会社番号で置き換えられます)

-標準エクスポートおよび isspace(sub.dir):

<seq.path>/<xch.scheme>.<run.num>.e/<seq.file>

-標準エクスポートおよび not isspace(sub.dir):

<seq.path>/<sub.dir>.<run.num>/<seq.file>

-標準インポートおよび isspace(sub.dir):

<seq.path>/<xch.scheme>.<run.num>.i/<seq.file>

-標準インポートおよび not isspace(sub.dir):

<seq.path>/<sub.dir>.<run.num>/<seq.file>

-通常でない場合 :

-<seq.path>/<seq.file>
ただし、seq.file 自体がパス名の場合は (先頭の文字が $ または /)、
<seq.file>

function extern long path.exists(
const domain daxch.path path )
前 : true
返値: ディレクトリ <path.name> が存在するかどうか

関連トピック