開発者向け機能:サーバスクリプト:$ps.file
## 概要
[サーバスクリプト](/ja/manual/table-management-server-script)でWEBサーバ内のファイルとディレクトリの操作を行うオブジェクトです。ファイルの書き込み・読み込み・削除・名称変更とディレクトリの作成・削除・名称変更が出来ます。
## 注意事項
1. [サーバスクリプト](/ja/manual/table-management-server-script)でファイル・ディレクトリの操作を行うとサーバ側の処理負荷が増大することがあります。[サーバスクリプト](/ja/manual/table-management-server-script)の実行時間が指定した処理タイムアウト時間を超えるとタイムアウトにより処理が停止し「アプリケーションエラー」が発生します。タイムアウト時間の調整は[Script.json](/ja/manual/script-json)の「ServerScriptTimeOut」で行います。
## 制限事項
1. ファイル・ディレクトリに対するアクセス権はWebサーバOSに依存します。プリザンターのアクセス権は使用できません。
2. セクション名とディレクトリ名とファイル名に使用できる文字の種類は以下の半角文字です。
アルファベット(A-Z、a-z)
数字(0-9)
アンダーバー(_)
ハイフン(-)
ドット(.)
3. 基準ディレクトリ(Script.json の ServerScriptFilePath)には、ルートディレクトリの指定(Windowsでは"C:\\"や"D:\\"、Linuxでは"/")や相対パスの指定はできません。
## 前提条件
1. [Script.json](/ja/manual/script-json)のDisableServerScriptFileをfalseに設定することが必要です。
## プロパティ
プロパティはありません。
## メソッド
|No|Name|Description|
|:---|:---|:---|
|1|[readAllText](/manual/server-script-ps-file-read-all-text)|テキストファイル読み込みます。|
|2|[writeAllText](/manual/server-script-ps-file-write-all-text)|テキストファイル書き込みます。|
|3|[removeFile](/manual/server-script-ps-file-remove-file)|ファイルを削除します。|
|4|[moveFile](/manual/server-script-ps-file-move-file)|ファイル名を変更またはファイルを移動します。|
|5|[getFileList](/manual/server-script-ps-file-get-file-list)|指定ディレクトリ内のファイル名一覧を取得します。|
|6|[getDirectoryList](/manual/server-script-ps-file-get-directory-list)|指定ディレクトリ内のディレクトリ名一覧を取得します。|
|7|[createDirectory](/manual/server-script-ps-file-create-directory)|ディレクトリを作成します。|
|8|[removeDirectory](/manual/server-script-ps-file-remove-directory)|ディレクトリを削除します。|
|9|[moveDirectory](/manual/server-script-ps-file-move-directory)|ディレクトリ名を変更またはディレクトリを移動します。|
|10|[createSection](/manual/server-script-ps-file-create-section)|セクションを作成します。|
|11|[removeSection](/manual/server-script-ps-file-remove-section)|セクションを削除します。|
## セクションとは
$ps.fileオブジェクトでは「セクション」という単位でファイルやディレクトリを用途ごとにグループ化して操作します。Webサーバ内の配置としては基準ディレクトリの直下にセクション名のディレクトリが作成され、そのディレクトリ内にファイルやディレクトが構築されます。セクション配下にはサブディレクトリを設定することができます。
基準ディレクトリおよびセクションの設定とWebサーバ上の配置についての関連は下図の通りです。

基準ディレクトリをC:\fileshareとした場合、このパスを[Script.json](/ja/manual/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](/ja/manual/server-script-ps-file-read-all-text)でファイルを読み込む場合は以下のような指定となります。
##### 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](/ja/manual/server-script-ps-file-read-all-text)でファイルを読み込む場合は以下のような指定となります。
##### Javascript
```
const section = '02_sales';
const path = 'reports/saleslist_202501.csv';
$ps.file.readAllText(section, path);
```
## 対応バージョン
|対応バージョン|内容|
|:--|:--|
|1.4.12.0 以降|機能追加|
## 関連情報
<div id="ManualList"><ul><li><a href="/ja/manual/script-json">パラメータ設定:Script.json</a><span>2025/01/14 up</span></li></ul></article>
<ul><li><a href="/ja/manual/table-management-server-script">テーブルの管理:サーバスクリプト</a><span>2025/03/11 up</span></li></ul></article>
<ul><li><a href="/ja/manual/server-script">開発者向け機能:サーバスクリプト</a><span>2023/06/01 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-create-directory">開発者向け機能:サーバスクリプト:$ps.file.createDirectory</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-create-section">開発者向け機能:サーバスクリプト:$ps.file.createSection</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-export">開発者向け機能:サーバスクリプト:$ps.file.export</a><span>2025/02/12 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-get-directory-list">開発者向け機能:サーバスクリプト:$ps.file.getDirectoryList</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-get-file-list">開発者向け機能:サーバスクリプト:$ps.file.getFileList</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-import">開発者向け機能:サーバスクリプト:$ps.file.import</a><span>2025/02/12 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-move-directory">開発者向け機能:サーバスクリプト:$ps.file.moveDirectory</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-move-file">開発者向け機能:サーバスクリプト:$ps.file.moveFile</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-read-all-text">開発者向け機能:サーバスクリプト:$ps.file.readAllText</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-remove-directory">開発者向け機能:サーバスクリプト:$ps.file.removeDirectory</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-remove-file">開発者向け機能:サーバスクリプト:$ps.file.removeFile</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-remove-section">開発者向け機能:サーバスクリプト:$ps.file.removeSection</a><span>2025/01/14 up</span></li>
<li><a href="/ja/manual/server-script-ps-file-write-all-text">開発者向け機能:サーバスクリプト:$ps.file.writeAllText</a><span>2025/01/14 up</span></li></ul></article>
<ul><li><a href="/ja/manual/faq-server-script-log">FAQ:サーバスクリプトのエラーログを出力したい</a><span>2024/04/29 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />