メインコンテンツまでスキップ
バージョン: 20 R7 BETA

COPY DOCUMENT

COPY DOCUMENT ( sourceName ; destinationName {; newName} {; *} )

引数説明
sourceNameTextコピーするファイルやフォルダーのパス名
destinationNameTextファイルやフォルダーコピーの配置先名またはパス名
newNameTextコピーされたファイルまたはフォルダの新しい名前
*演算子存在する場合、既存のドキュメントを上書きする

説明

COPY DOCUMENTコマンドを使用して、sourceNameによって指定されたファイルやフォルダーをdestinationNameによって指定された場所にコピーします。 この場合sourceName引数には以下のどちらかを渡す事ができます。

  • ボリュームのルートから始まる完全なファイルパス名
  • データベースフォルダーから相対的なパス名
    destinationName引数には複数のタイプで場所を指定できます:
  • ボリュームのルートから始まる完全なファイルパス名。ファイルはこの場所にコピーされます。
  • ファイル名または相対的なファイルパス名。ファイルはデータベースフォルダー内にコピーされます。サブフォルダーはコマンド実行前に存在していなければなりません。
  • データベースフォルダーから相対的な完全フォルダーパス名またはパス名(destinationNameはプラットフォームに応じたフォルダー区切り文字で終わっていなければなりません)。ファイルは指定したフォルダーにコピーされます。これらのフォルダーはコマンド実行前に存在していなければなりません(自動的に作成されることはありません)。
    オプションの * 引数を渡していない場合、destinationNameで指定した場所にすでにドキュメントが存在するとエラーが生成されます。この引数を渡した場合、既存のファイルは削除され、コピーするドキュメントで置き換えられます。
  • フォルダーのコピー
    フォルダーを指定するためには、sourceNamedestinationName に渡す文字列がプラットフォームに対応したフォルダー区切り文字で終わっていなければなりません。例えばWindows環境下では "C:\\Element\\"はフォルダーを表し、"C:\\Element"はファイルを表します。
    フォルダーをコピーするには、その完全パス名をsourceNameに渡します。このフォルダーは既に存在しなければなりません。フォルダーをsourceName引数に設定した場合、destinationName引数もフォルダーでなければなりません。このとき、ディスクにすでに存在する完全フォルダーパス名を渡さなければなりません。
    sourceName で指定したフォルダーと同じ名前のフォルダーがdestinationName で指定した場所に既に存在し、そのフォルダーが空でない場合、4Dは項目をコピーする前にフォルダーの内容を確認します。オプションの * 引数を渡していない場合、同じ名前のファイルが既に存在すればエラーが生成されます。この引数を渡した場合、その場所のファイルは削除され、コピーするドキュメントで置き換えられます。

ファイルをフォルダーにコピーするために、sourceName にファイルを、destinationName にフォルダーを渡すことは可能です。

任意の newName 引数を渡した場合、コピーした場所のドキュメント(ファイルまたはフォルダー)を改名します。ファイルのコピーの際に渡した場合は、この引数は destinationName 引数に渡された名前を置き換えます。

例題 1

次の例を使用して、そのドキュメントがあるフォルダ内でドキュメントを複製します。

 COPY DOCUMENT("C:\\FOLDER\\DocName";"C:\\FOLDER\\DocName2")

例題 2

次の例を使用して、ドキュメントをデータベースフォルダにコピーします(表示されているC:\\FOLDERは、データベースフォルダではありません) 。

 COPY DOCUMENT("C:\\FOLDER\\DocName";"DocName")

例題 3

次の例を使用して、ドキュメントを一つのボリュームから他のボリュームへコピーします。

 COPY DOCUMENT("C:\\FOLDER\\DocName";"F:\\Archives\\DocName.OLD")

例題 4

次の例を使用して、そのドキュメントがあるフォルダ内で既存のコピーを上書きして、ドキュメントを複製します。

 COPY DOCUMENT("C:\\FOLDER\\DocName";"C:\\FOLDER\\DocName2";*)

例題 5

指定したフォルダーに同じ名前でファイルをコピー:

 COPY DOCUMENT("C:\\Projects\\DocName";"C:\\Projects\\")

例題 6

指定したフォルダーに同じ名前でファイルをコピー。既存のファイルは上書きする:

 COPY DOCUMENT("C:\\Projects\\DocName";"C:\\Projects\\"; *)

例題 7

フォルダーを他のフォルダーにコピー (両フォルダーは既に存在しなければなりません):

 COPY DOCUMENT("C:\\Projects\\";"C\\Archives\\2011\\")

例題 8

以下の例はデータベースフォルダー内に異なるファイルやフォルダーを作成します(ただしこれはWindows用の例題です)。どの場合においても、"folder2"というフォルダーが先に存在していなければなりません。

 COPY DOCUMENT("folder1\\name1";"folder2\\")
  //"folder2/name1" という名前のファイルを作成します。
 
 COPY DOCUMENT("folder1\\name1";"folder2\\" ; "new")
  //"folder2/new" という名前のファイルを作成します。
 
 COPY DOCUMENT("folder1\\name1";"folder2\\name2")
  //"folder2/name2" という名前のファイルを作成します。
 
 COPY DOCUMENT("folder1\\name1";"folder2\\name2";"new")
  //"folder2/new" という名前のファイルを作成します(name2は無視されます)。
 
 COPY DOCUMENT("folder1\\" ; "folder2\\")
  //"folder2/folder1/" という名前のフォルダを作成します。
 
 COPY DOCUMENT("folder1\\" ; "folder2\\" ; "new")
  //"folder2/new/" という名前のファイルを作成します。

参照

MOVE DOCUMENT
システムドキュメント

プロパティ

コマンド番号541
スレッドセーフである
システム変数を更新するOK、error