8.5.33 Copyファイルをコピーする

機能
ファイルをコピーします。
JP1/Script 07-50以降では,ラージファイルが使用できます。
形式

Copy ( OldFileName , NewPathName , 〔Option1〕 , 〔Option2〕 , 〔Option3〕 , 〔Option4〕 , 〔Option5〕 , 〔ExceptFileName〕 , 〔Option6〕 〔, Option7〕)

指定項目
OldFileName
コピー元(移動元)ファイル名を文字列,または値を格納した変数名で指定します。
指定されたファイル名の最後の文字がアンダースコア(_)の場合,COMPRESSコマンドで圧縮されたファイルとみなし,展開しながらコピーします。ただし,NewPathNameでコピー先ファイル名の指定がないかぎり,ファイル名は変更しません。最後の文字はアンダースコア(_)のままです。ファイル名にワイルドカードを指定することもできます。
NewPathName
コピー先(移動先)フォルダ名,またはファイル名を,文字列,または値を格納した変数名で指定します。
Option15
コピーオプションを指定します。
複数のコピーオプションを指定できます。
この値には次の値を指定できます。
意味
VersionUp新しいファイルだけを上書きします。
バージョン情報を比較し,バージョン情報が取得できない場合は,ファイルの日付で新旧を比較します。
Overwriteすべて上書きします。
NoOverwrite (05-10以降)コピー先フォルダにすでに存在するファイルはコピーしません。
OverwriteOnly (05-10以降)コピー先フォルダに存在するファイルだけをコピーします。
Pile既存のファイルは拡張子を.000~.999のうち空いているものに変更して残し,コピーします。
Backup (05-10以降)アーカイブ属性の付いたファイルだけをコピーし,コピー後にコピー元ファイルのアーカイブ属性をクリアします
Move (05-10以降)ファイルを移動します。コピーは行いません。
これ以外のVersionup,Overwrite,NoOverwriteとともに指定でき,移動先フォルダにすでにファイルが存在する場合はともに指定されたオプションに従って移動します。
SubDirToo (05-10以降)下位のフォルダまで,その構造を保ったままコピーします。ファイルが存在しない下位のフォルダはコピーしません。これ以外のオプションとともに指定できます。
Trace(05-10以降)コピーしたファイル名を実行トレースファイルに出力します。これ以外のオプションと同時に指定できます。
ErrSkip(05-10以降)コピー元ファイルの排他エラーやアクセスエラーが発生しても無視してコピーを続行します。これ以外のオプションと同時に指定できます。
この値は省略できます。省略した場合,Overwriteを仮定します。
ExceptFileName 05-10以降)
OldFileNameで指定したファイル名の中でコピー(移動)の対象にしないファイルがある場合,そのファイル名を文字列,または値を格納した変数名で指定します。
複数のファイル名を指定する場合は,セミコロン(;)で区切った文字列,または値を格納した変数名で指定します。
JP1/Script 06-00以降では,複数のファイル名の文字列を一つずつ格納した一次元の配列変数を変数名で指定することもできます。
ファイル名にワイルドカードを指定することもできます。
Option67 06-51以降)
コピーオプションを指定します。
この値には次の値を指定できます。
意味
Securityファイルにセキュリティ情報がある場合,セキュリティ情報もコピーします。これ以外のオプションと同時に指定できます。
ErrSkip2
(06-71以降)
コピー先ファイルの排他エラーやアクセスエラーが発生しても無視してコピーを続行します。
無視したファイルの数は_COPY_SKIP2_CNT_予約変数に格納します。
これ以外のオプションと同時に指定できます。
Securityを指定した場合,Windows Vista またはWindows Server 2008では管理者権限でスクリプトファイルを実行してください。詳細は,「1.8.3 コマンドの動作」を参照してください。
説明
指定されたコピーオプションでファイルをコピーします。コマンドが正常に実行された場合は真(True)を,エラーが発生した場合は偽(False)を,コマンドの実行結果として返します。
コピーの結果は_COPY_RTN_予約変数に格納されます。格納される値は次のどれかになります。
意味
Overwriteファイルのバージョンをチェックしないでコピーした。
VersionUpファイルのバージョンをチェックしてコピーした。
Pile既存ファイルの拡張子を変更して残しコピーした。
Backup (05-10以降)アーカイブ属性の付いたファイルだけをコピーし,アーカイブ属性をクリアした。
Move (05-10以降)ファイルを移動した。
Skipファイルをコピーしなかった。
コピーしたファイルの数は_COPY_CNT_予約変数に格納されます。コピーしなかったファイルの数は_COPY_SKIP_CNT_予約変数に格納されます。
補足
Windows VistaまたはWindows Server 2008で,環境変数ProgramFiles(通常はシステムドライブのProgram Filesフォルダ),またはWinDir(通常はシステムドライブのWindowsフォルダ)に設定されているフォルダ下のファイル,またはフォルダを指定する場合,注意が必要です。詳細は,「1.8.3 コマンドの動作」を参照してください。
注意
OSのファイルシステムでは,次のファイル名が使用されます。
  • ユーザが任意の文字列を指定したロングファイル名
  • OSが自動的に生成するショートファイル名(8.3形式)
そのため,JP1/Scriptで,ファイル名にワイルドカードを指定した場合,OSが自動的に生成するショートファイル名も対象になります。また,ファイル名にワイルドカードを指定しない場合,該当ファイルのショートファイル名と同一パスに存在する別ファイルのショートファイル名とが合致し,意図しないファイルが対象になるときがありますのでご注意ください。

Dim  inDir ,outDir
inDir  = _SCF_+"Inst¥"
outDir = _SCF_+"Inst_Backup¥"
Copy ( inDir+"CTL3D32.DLL" ,outDir+"CTL3D32.DLL" ,VersionUp )
Copy ( inDir+"SCRIPT.EX_" ,outDir+" SCRIPT.EXE" ,Overwrite )
Copy ( inDir+"SCR*.*" ,outDir )
Copy ( inDir+"*" ,outDir ,Backup ,ErrSkip , , ,  _
,inDir+"*.EXE;"+inDir+"*.DLL" )

対象バージョン
JP1/Script 01-00以降