コンテンツにスキップ

$ps.file

概要

サーバスクリプトでWEBサーバ内のファイルとディレクトリの操作を行うオブジェクトです。ファイルの書き込み・読み込み・削除・名称変更とディレクトリの作成・削除・名称変更ができます。

注意事項

  1. サーバスクリプトでファイル・ディレクトリの操作を行うとサーバ側の処理負荷が増大することがあります。サーバスクリプトの実行時間が指定した処理タイムアウト時間を超えるとタイムアウトにより処理が停止し「アプリケーションエラー」が発生します。タイムアウト時間の調整はScript.jsonの「ServerScriptTimeOut」で行います。

制限事項

  1. ファイル・ディレクトリに対するアクセス権はWebサーバOSに依存します。プリザンターのアクセス権は使用できません。
  2. セクション名とディレクトリ名とファイル名に使用できる文字の種類は以下の半角文字です。
    アルファベット(A-Z、a-z)
    数字(0-9)
    アンダーバー(_)
    ハイフン(-)
    ドット(.)
  3. 基準ディレクトリ(Script.json の ServerScriptFilePath)には、ルートディレクトリの指定(Windowsでは"C:\"や"D:\"、Linuxでは"/")や相対パスの指定はできません。

前提条件

  1. Script.jsonのDisableServerScriptFileをfalseに設定することが必要です。

プロパティ

プロパティはありません。

メソッド

No Name Description
1 readAllText テキストファイル読み込みます。
2 writeAllText テキストファイル書き込みます。
3 removeFile ファイルを削除します。
4 moveFile ファイル名を変更またはファイルを移動します。
5 getFileList 指定ディレクトリ内のファイル名一覧を取得します。
6 getDirectoryList 指定ディレクトリ内のディレクトリ名一覧を取得します。
7 createDirectory ディレクトリを作成します。
8 removeDirectory ディレクトリを削除します。
9 moveDirectory ディレクトリ名を変更またはディレクトリを移動します。
10 createSection セクションを作成します。
11 removeSection セクションを削除します。
12 copyFile 指定ファイルをコピーします。
13 import 指定ファイルをインポートします。
14 export 指定ファイルをエクスポートします。

セクションとは

$ps.fileオブジェクトでは「セクション」という単位でファイルやディレクトリを用途ごとにグループ化して操作します。Webサーバ内の配置としては基準ディレクトリの直下にセクション名のディレクトリが作成され、そのディレクトリ内にファイルやディレクトが構築されます。セクション配下にはサブディレクトリを設定することができます。
基準ディレクトリおよびセクションの設定とWebサーバ上の配置についての関連は下図の通りです。

基準ディレクトリとセクションのWebサーバ上の配置を示す図

基準ディレクトリをC:\fileshareとした場合、このパスをScript.jsonの"ServerScriptFilePath"に設定します。
セクションは基準ディレクトリの直下のディレクトリを指しますので、上図では01_develop、02_salesが該当します。
セクション以下のファイルを読み込むことを例にパラメータの設定内容について説明します。

例1. 0101_emplist.csvを読み込む場合

0101_emplist.csvはWebサーバ上ではC:\fileshare\01_develop\0101_emplist.csvであるため、セクションは「01_develop」、ファイル名は「0101_emplist.csv」となります。
したがって、$ps.file.readAllTextでファイルを読み込む場合は以下のような指定となります。

JavaScript
const section = '01_develop';
const path = '0101_emplist.csv';
$ps.file.readAllText(section, path);

例2. saleslist_202501.csvを読み込む場合

saleslist_202501.csvはWebサーバ上ではC:\fileshare\02_sales\reports\saleslist_202501.csvであるため、セクションは「02_sales」、ファイル名はサブディレクトリの指定も含めた「reports/saleslist_202501.csv」となります。
したがって、$ps.file.readAllTextでファイルを読み込む場合は以下のような指定となります。

JavaScript
const section = '02_sales';
const path = 'reports/saleslist_202501.csv';
$ps.file.readAllText(section, path);

対応バージョン

対応バージョン 内容
1.4.12.0 以降 機能追加
1.4.19.0 以降 copyFileメソッドを追加

関連情報