$ps.file
概要¶
サーバスクリプトでWEBサーバ内のファイルとディレクトリの操作を行うオブジェクトです。ファイルの書き込み・読み込み・削除・名称変更とディレクトリの作成・削除・名称変更ができます。
注意事項¶
- サーバスクリプトでファイル・ディレクトリの操作を行うとサーバ側の処理負荷が増大することがあります。サーバスクリプトの実行時間が指定した処理タイムアウト時間を超えるとタイムアウトにより処理が停止し「アプリケーションエラー」が発生します。タイムアウト時間の調整はScript.jsonの「ServerScriptTimeOut」で行います。
制限事項¶
- ファイル・ディレクトリに対するアクセス権はWebサーバOSに依存します。プリザンターのアクセス権は使用できません。
- セクション名とディレクトリ名とファイル名に使用できる文字の種類は以下の半角文字です。
アルファベット(A-Z、a-z)
数字(0-9)
アンダーバー(_)
ハイフン(-)
ドット(.) - 基準ディレクトリ(Script.json の ServerScriptFilePath)には、ルートディレクトリの指定(Windowsでは"C:\"や"D:\"、Linuxでは"/")や相対パスの指定はできません。
前提条件¶
- 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サーバ上の配置についての関連は下図の通りです。
基準ディレクトリを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¶
例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メソッドを追加 |
関連情報¶
- 開発者ガイド:サーバスクリプト
- パラメータ設定:Script.json
- 開発者ガイド:サーバスクリプト:$ps.file.readAllText
- 開発者ガイド:サーバスクリプト:$ps.file.writeAllText
- 開発者ガイド:サーバスクリプト:$ps.file.removeFile
- 開発者ガイド:サーバスクリプト:$ps.file.moveFile
- 開発者ガイド:サーバスクリプト:$ps.file.getFileList
- 開発者ガイド:サーバスクリプト:$ps.file.getDirectoryList
- 開発者ガイド:サーバスクリプト:$ps.file.createDirectory
- 開発者ガイド:サーバスクリプト:$ps.file.removeDirectory
- 開発者ガイド:サーバスクリプト:$ps.file.moveDirectory
- 開発者ガイド:サーバスクリプト:$ps.file.createSection
- 開発者ガイド:サーバスクリプト:$ps.file.removeSection
- 開発者ガイド:サーバスクリプト:$ps.file.copyFile
- 開発者ガイド:サーバスクリプト:$ps.file.export
- 開発者ガイド:サーバスクリプト:$ps.file.import

