MoveFile - ファイル移動

ファイル、フォルダーを移動します。

このコンポーネントでは、実際にはファイル名、フォルダー名の変更(リネーム)を行います。移動先に指定されたファイル、フォルダーが既に存在する場合や、異なるファイルシステムが移動先として指定された場合は、このコンポーネントの実行時にエラーが発生します。異なるファイルシステムへの移動には、CopyFileコンポーネントを使用します。

■ストリーム情報

入力フォーマットすべて
接続数1
説明すべてのストリームを入力できます。
出力フォーマットすべて
説明 入力ストリームをそのまま出力します。

■コンポーネントプロパティ

名前プロパティ型マッピング説明
移動元ファイルパスremoteFile入力&出力 移動元のファイル、フォルダーのパスを指定します。
UNIXシステムの場合は、パス名は接頭辞が "/" の場合に絶対パスとみなします。Windowsシステムの場合は、パス名は接頭辞がドライブ指示子のあとに "\\" が続く場合、または接頭辞が "\\" の場合に絶対パスとみなします。
相対パスで指定した場合は、相対パスの起点 で指定したホームからの相対になります。
「*」と「?」の2つのワイルドカードを使用して1つ以上のファイル、フォルダーを指定することができます。 「*」は0個以上の任意の文字に、「?」は任意の1文字にマッチします。
ワイルドカードが指定された場合は、移動先ファイルパス の指定はフォルダー名として解釈されます。
フォルダーが指定された場合は、そのフォルダー内のファイル、フォルダーもすべてまとめて移動されます。
移動先ファイルパスremoteFile入力&出力 移動先のファイル、フォルダーのパスを指定します。
相対パスで指定した場合は、相対パスの起点 で指定したホームからの相対になります。
ファイルパスの詳細設定group- ファイルパスの詳細設定を行うプロパティ群です。
相対パスの起点pathResolver- 相対パス指定の場合にベースフォルダーを指定します。
プロジェクトフォルダー [Relative]
プロジェクトファイルと同じフォルダーを起点にします。
ホームフォルダー [ProjectOwner]
ユーザーのホームフォルダーを起点にします。
実行ユーザーのホームフォルダー [ExecuteUser]
実行ユーザーのホームフォルダーを起点にします。
絶対パスを許可boolean- 絶対パスを許可するかどうか選択します。
「..」を許可boolean- 上のフォルダへ移動する記述に「..」を許可するかどうか選択します。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラメーターエラー処理フロー
へのストリーム
エラー
コード
説明
ファイルが存在しない なし コンポーネントの入力ストリーム2移動元ファイルパス で指定したファイルが見つからなかった場合
汎用 なし コンポーネントの入力ストリーム3移動先に同名のファイル、フォルダーが既に存在していた場合
4移動先ファイルパス で指定したフォルダーが存在せず、作成もできなかった場合
5移動元と移動先のファイルシステムのドライブやデバイスが異なる場合
移動元ファイルパスにフォルダーを指定して、移動先ファイルパス移動元ファイルパスに指定したフォルダーのサブフォルダーを指定した場合
9ファイルパスの指定が誤っている場合や、相対パスの起点 が「実行ユーザーのホームフォルダー」の場合に、実行ユーザーが存在しないため相対パスが解決できなかった場合
10その他のIOException
ワイルドカードを使用して複数ファイルの移動を行っている場合は一部のファイルの移動のみに成功し、途中でエラーになることがあります。

■移動元、移動先の状況と動作の詳細

移動元ファイルパス でワイルドカードが使用されず、かつ移動先ファイルパス がパス区切り文字で終了していない場合の動作は、実行時の状況により異なります。
移動元ファイルパス移動先ファイルパス で指定したパスに対して、以下の3つのパターンが想定されます。

  1. パスに該当するファイルが存在する
  2. パスに該当するフォルダーが存在する
  3. パスに該当するファイル、フォルダーが存在しない
それぞれのパターンの組み合わせと、このコンポーネントの動作の関係は以下の表のようになります。
移動元ファイルパス移動先ファイルパス動作
ファイルファイル"エラーコード=3"のエラーが発生します。
ファイルフォルダー移動先ファイルパス で指定されたフォルダーの中に移動元ファイルパス で指定されたファイルをファイル名を変えずに移動します。
移動先ファイルパス で指定されたフォルダーの中に移動元ファイルパス で指定されたファイルと同名のファイル、フォルダーが既に存在する場合、"エラーコード=3"のエラーが発生します。
ファイル存在しない移動先ファイルパス で指定されたパスをファイル名として解釈し、移動元ファイルパス で指定されたファイルのファイル名を移動先ファイルパス で指定されたファイルのファイル名に変更して移動します。
移動先ファイルパス で指定されたパスに含まれる上位フォルダーが存在しない場合は、そのフォルダーを作成します。
フォルダーファイル"エラーコード=3"のエラーが発生します。
フォルダーフォルダー移動先ファイルパス で指定されたフォルダーの中に移動元ファイルパス で指定されたフォルダーをフォルダー名を変えずに移動します。
移動先ファイルパス で指定されたフォルダーの中に移動元ファイルパス で指定されたフォルダーと同名のファイル、フォルダーが既に存在する場合、"エラーコード=4"のエラーが発生します。
フォルダー存在しない移動先ファイルパス で指定されたパスをフォルダー名として解釈し、移動元ファイルパス で指定されたフォルダーのフォルダー名を移動先ファイルパス で指定されたフォルダーのフォルダー名に変更して移動します。
移動先ファイルパス で指定されたパスに含まれる上位フォルダーが存在しない場合は、そのフォルダーを作成します。
存在しないファイル"エラーコード=2"のファイルが存在しない が発生します。
フォルダー
存在しない


移動先ファイルパス がパス区切り文字(/や\)で終了している場合、あるいは移動元ファイルパス でワイルドカードが使用された場合は、実行時に移動元として複数のファイル、フォルダーがマッチしたかどうかにかかわらず、移動先ファイルパス の指定はフォルダー名として解釈され、以下のように動作します。

■CopyFileコンポーネントを使用してファイルを移動する場合との動作の違いについて

CopyFileコンポーネントでコピー元を削除を「はい」に指定すると、MoveFileコンポーネントと同等の処理を行うことができます。しかし、この2つのコンポーネントには次のような違いがあります。

必要に応じてどちらのコンポーネントを使用するかを選択してください。