> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ファイル操作

ファイルオペレーションでは、標準的なファイルの入出力を実行できます。これらのオペレーションは、ディレクトリ間のファイル移動、ジョブ結果のログへの記録など、多くのことに使用できます。

以下の例は、post-job イベントで`fileWrite` オペレーションを使用して、ログファイルに新しい行を書き込みます。

```xml theme={null}
<api:info title="After Run" desc="このイベントはジョブを実行した後に発生します。">
  <input name="JobName"         required="true" desc="実行されたジョブの名前。" />
  <input name="Source"          required="true" desc="データソース接続の名前。" />
  <input name="Destination"     required="true" desc="同期先接続の名前。" />
  <input name="JobStatus"       required="true" desc="完了した実行のステータス。"/>
  <input name="Query#"          required="true" desc="実行された各クエリを含む配列。" />
  <input name="QueryStatus#"    required="true" desc="実行された各クエリのステータスを含む配列。" />
</api:info>

<api:set attr="file.file"  value="C://mylog.log"/> 
<api:set attr="file.data"  value="[null | now()]: The Job [_input.jobname] completed with a status of [_input.jobstatus]"/>
<api:set attr="file.mode"  value="truncate"/>

<api:call op="fileWrite" in="file"/>
```

## オペレーション

* [ファイルをコピー](#filecopy)
* [ファイルを作成](#filecreate)
* [ファイルを削除](#filedelete)
* [すべてのファイルをリスト](#filelistdir)
* [ディレクトリを作成](#filemakedir)
* [ファイルを移動](#filemove)
* [ファイルを読み出し](#fileread)
* [ファイルの行を読み出し](#filereadline)
* [ファイルに書き込み](#filewrite)

### fileCopy

指定されたパスにファイルまたはディレクトリをコピーします。

| インプット属性（必須） | 説明          |
| :---------- | :---------- |
| source      | コピーするファイル名。 |
| destination | コピー後のファイル名。 |

| インプット属性（オプション） | 説明                                                                                              |
| :------------- | :---------------------------------------------------------------------------------------------- |
| force          | force が`true` に設定されている場合、オペレーションは欠けているディレクトリを作成します。`true` および`false` が使用可能です。デフォルト値は`true` です。  |
| mask           | コピーするエントリを選択する際に使われるパターン。デフォルト値は`*` です。                                                         |
| recurse        | 再帰的にファイル、およびディレクトリをコピー。このケースでは、コピー先はディレクトリととらえられます。`false` および`true` が使用可能です。デフォルト値は`false` です。 |

| アウトプット属性         | 説明               |
| :--------------- | :--------------- |
| file:source      | データソースファイルのフルパス。 |
| file:destination | コピー先ファイルのフルパス。   |

### fileCreate

テキストファイルを作成し、オプションでファイルに書き込みます。

| インプット属性（必須） | 説明          |
| :---------- | :---------- |
| file        | 作成されるファイル名。 |

| インプット属性（オプション） | 説明                                                                                             |
| :------------- | :--------------------------------------------------------------------------------------------- |
| force          | force が`true` に設定されている場合、オペレーションは欠けているディレクトリを作成します。`true` および`false` が使用可能です。デフォルト値は`true` です。 |
| data           | ファイルに書き込まれるデータ。                                                                                |
| mode           | 書き込みのモード。`truncate` および`append` が使用可能です。デフォルト値は`truncate` です。                                  |
| encoding       | ファイルのエンコーディング。デフォルト値は`UTF-8` です。                                                               |

| アウトプット属性   | 説明              |
| :--------- | :-------------- |
| file:file  | 作成されたファイルのフルパス。 |
| file:cdate | ファイルの作成日。       |

### fileDelete

ファイルまたはディレクトリを削除します。

| インプット属性（必須） | 説明                     |
| :---------- | :--------------------- |
| file        | 削除されるファイルまたはディレクトリの名前。 |

| アウトプット属性  | 説明                     |
| :-------- | :--------------------- |
| file:file | 削除されたファイルまたはディレクトリの名前。 |

### fileListDir

指定されたパスにあるファイルおよびディレクトリをリストします。

| インプット属性（必須） | 説明                                      |
| :---------- | :-------------------------------------- |
| path        | リストされているディレクトリおよびファイルのパス。デフォルト値は`.` です。 |

| インプット属性（オプション） | 説明                                                                   |
| :------------- | :------------------------------------------------------------------- |
| mask           | 結果エントリのフィルタリングに使われるパターン。デフォルト値は`*` です。                               |
| recurse        | 再帰的にエントリをリスト。`false` および`true` が使用可能です。デフォルト値は`false` です。            |
| fileordir      | ファイルおよびディレクトリのみをリスト。`all`、`files`、および`dirs` が使用可能です。デフォルト値は`all` です。 |

| アウトプット属性        | 説明                                        |
| :-------------- | :---------------------------------------- |
| file:fullname   | 現在のエントリのファイルまたはディレクトリのフルパス。               |
| file:name       | 現在のエントリのファイルまたはディレクトリの名前。                 |
| file:mtime      | 現在のエントリのファイルまたはディレクトリが書き込まれる時間。           |
| file:ctime      | 現在のエントリのファイルまたはディレクトリが作成される時間。            |
| file:atime      | 現在のエントリのファイルまたはディレクトリが読み出された、または書き込まれる時間。 |
| file:attributes | 現在のエントリのファイルまたはディレクトリの属性のリスト。             |
| file:extension  | エントリの拡張子。                                 |
| file:size       | ファイルのサイズ（バイト）。                            |
| file:isdir      | エントリがファイルかディレクトリか。                        |

### fileMakeDir

パスで指定されたディレクトリを作成します。

| インプット属性（必須） | 説明              |
| :---------- | :-------------- |
| path        | 作成されるディレクトリのパス。 |

| インプット属性（オプション） | 説明                                                                                             |
| :------------- | :--------------------------------------------------------------------------------------------- |
| force          | force が`true` に設定されている場合、オペレーションは欠けているディレクトリを作成します。`true` および`false` が使用可能です。デフォルト値は`true` です。 |

| アウトプット属性   | 説明           |
| :--------- | :----------- |
| file:path  | 作成されたディレクトリ。 |
| file:cdate | ディレクトリの作成日。  |

### fileMove

指定されたパスにファイルまたはディレクトリを移動します。

| インプット属性（必須） | 説明              |
| :---------- | :-------------- |
| source      | 移動されるデータソースのパス。 |
| destination | 移動する先。          |

| インプット属性（オプション） | 説明                                                                                             |
| :------------- | :--------------------------------------------------------------------------------------------- |
| force          | force が`true` に設定されている場合、オペレーションは欠けているディレクトリを作成します。`true` および`false` が使用可能です。デフォルト値は`true` です。 |

| アウトプット属性         | 説明               |
| :--------------- | :--------------- |
| file:source      | データソースファイルのフルパス。 |
| file:destination | 同期先ファイルのフルパス。    |

### fileRead

テキストファイルを読み出し、データを排出します。

| インプット属性（必須） | 説明         |
| :---------- | :--------- |
| file        | 読み出すファイル名。 |

| インプット属性（オプション） | 説明                               |
| :------------- | :------------------------------- |
| encoding       | ファイルのエンコーディング。デフォルト値は`UTF-8` です。 |

| アウトプット属性  | 説明       |
| :-------- | :------- |
| file:data | ファイルデータ。 |

### fileReadLine

テキストファイルを読み出し、次の行を排出します。

| インプット属性（必須） | 説明         |
| :---------- | :--------- |
| file        | 読み出すファイル名。 |

| インプット属性（オプション） | 説明                               |
| :------------- | :------------------------------- |
| separator      | ファイルのセパレータ。デフォルト値は'改行文字' です。     |
| encoding       | ファイルのエンコーディング。デフォルト値は`UTF-8` です。 |

| アウトプット属性  | 説明        |
| :-------- | :-------- |
| file:line | ファイルの行番号。 |
| file:data | ファイルデータ。  |

### fileWrite

エンコードされたデータをファイルに書き込みます。

| インプット属性（必須） | 説明              |
| :---------- | :-------------- |
| file        | 読み出すファイル名。      |
| data        | ファイルに書き込まれるデータ。 |

| インプット属性（オプション） | 説明                                                                                             |
| :------------- | :--------------------------------------------------------------------------------------------- |
| force          | force が`true` に設定されている場合、オペレーションは欠けているディレクトリを作成します。`true` および`false` が使用可能です。デフォルト値は`true` です。 |
| mode           | 書き込みのモード。`truncate` および`append` が使用可能です。デフォルト値は`truncate` です。                                  |
| encoding       | ファイルのエンコーディング。デフォルト値は`UTF-8` です。                                                               |

| アウトプット属性   | 説明               |
| :--------- | :--------------- |
| file:file  | 書き込まれるファイルのフルパス。 |
| file:cdate | ファイルの変更日。        |
