8.5.33 Copy (ファイルをコピーする)
- 機能
-
ファイルをコピーします。
JP1/Script 07-50以降では,ラージファイルが使用できます。
- 形式
Copy ( OldFileName , NewPathName , 〔Option1〕 , 〔Option2〕 , 〔Option3〕 , 〔Option4〕 , 〔Option5〕 , 〔ExceptFileName〕 , 〔Option6〕 〔, Option7〕)
- 指定項目
-
- OldFileName
-
コピー元(移動元)ファイル名を文字列,または値を格納した変数名で指定します。
指定されたファイル名の最後の文字がアンダースコア(_)の場合,COMPRESSコマンドで圧縮されたファイルとみなし,展開しながらコピーします。ただし,NewPathNameでコピー先ファイル名の指定がないかぎり,ファイル名は変更しません。最後の文字はアンダースコア(_)のままです。ファイル名にワイルドカードを指定することもできます。
- NewPathName
-
コピー先(移動先)フォルダ名,またはファイル名を,文字列,または値を格納した変数名で指定します。
- Option1〜5
-
コピーオプションを指定します。
複数のコピーオプションを指定できます。
この値には次の値を指定できます。
値
意味
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以降では,複数のファイル名の文字列を一つずつ格納した一次元の配列変数を変数名で指定することもできます。
ファイル名にワイルドカードを指定することもできます。
- Option6〜7 (06-51以降)
-
コピーオプションを指定します。
この値には次の値を指定できます。
値
意味
Security
ファイルにセキュリティ情報がある場合,セキュリティ情報もコピーします。これ以外のオプションと同時に指定できます。
ErrSkip2
(06-71以降)
コピー先ファイルの排他エラーやアクセスエラーが発生しても無視してコピーを続行します。
無視したファイルの数は_COPY_SKIP2_CNT_予約変数に格納します。
これ以外のオプションと同時に指定できます。
Securityを指定した場合,管理者権限でスクリプトファイルを実行してください。詳細は,「1.8.2 コマンドの動作」を参照してください。
- 説明
-
指定されたコピーオプションでファイルをコピーします。コマンドが正常に実行された場合は真(True)を,エラーが発生した場合は偽(False)を,コマンドの実行結果として返します。
コピーの結果は_COPY_RTN_予約変数に格納されます。格納される値は次のどれかになります。
値
意味
Overwrite
ファイルのバージョンをチェックしないでコピーした。
VersionUp
ファイルのバージョンをチェックしてコピーした。
Pile
既存ファイルの拡張子を変更して残しコピーした。
Backup (05-10以降)
アーカイブ属性の付いたファイルだけをコピーし,アーカイブ属性をクリアした。
Move (05-10以降)
ファイルを移動した。
Skip
ファイルをコピーしなかった。
コピーしたファイルの数は_COPY_CNT_予約変数に格納されます。コピーしなかったファイルの数は_COPY_SKIP_CNT_予約変数に格納されます。
- 補足
-
-
環境変数ProgramFiles(通常はシステムドライブのProgram Filesフォルダ),またはWinDir(通常はシステムドライブのWindowsフォルダ)に設定されているフォルダ下のファイル,またはフォルダを指定する場合,注意が必要です。詳細は,「1.8.2 コマンドの動作」を参照してください。
-
コピー先のファイルを新規に作成する場合に,アクセス権限を設定できます。設定するアクセス権限は,あらかじめ次に示すレジストリキーに設定しておいてください。ただし,Option6〜7のコピーオプションに「Security」が指定されている場合は,アクセス権限を設定できません。
- 〔レジストリキー〕
-
HKEY_LOCAL_MACHINE\SOFTWARE\Hitachi\JP1/Script\SPTX\Option
- 〔値名〕
-
SecurityAttributesSucceed
- 〔値のデータタイプ〕
-
REG_DWORD
- 〔値〕
-
0:設定しない
1:「上位フォルダのアクセス権を継承する」を設定する。
2:「Everyone:フルコントロール」を設定する。
値が設定されていない場合や上記以外の値が設定された場合は,デフォルトの0を仮定します。
- 〔設定が有効になるタイミング〕
-
スクリプトファイルの次回実行時
- 重要
-
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以降